I am not able to understand the syntax of
class_name: class_ptr_1(nullptr), class_ptr_2(nullptr) {}
I am not able to understand the syntax of
class_name: class_ptr_1(nullptr), class_ptr_2(nullptr) {}
It seems you mean
class_name() : class_ptr_1(nullptr), class_ptr_2(nullptr) {}
^^^
It is a constructor definition with a mem-initializer list. That is the class data members class_ptr_1
and class_ptr_2
are initialized in the mem-initializer list.
Here is an example
#include <iostream>
#include <string>
struct Beginner
{
Beginner() : first_name( "Deepak" ), last_name( "Singh" )
{
}
std::string first_name;
std::string last_name;
};
int main()
{
Beginner beginner;
std::cout << "first name: " << beginner.first_name
<< ", last name: " << beginner.last_name
<< '\n';
}
The program output is
first name: Deepak, last name: Singh