目前了解到派生类构造函数的仍无包含3部分
1.对基类数据成员初始化(调用基类的构造函数)
class Student
{
protected:
string name;
int age;
public:
Student(string s, int n) :name(s), age(n) {};
};
class A :public Student
{
public:
A(string s1, int n1) :Student(s1, n1) {};
};
2.对子对象数据成员初始化,子对象是在派生类中定义声明的基类对象,如
class A :public Student
{
private:
Student S;
public:
A(string s1, string s2, int n1, int n2) :Student(s1, n1), S(s2, n2) {};
};
3.对派生类数据成员初始化
class A :public Student
{
private:
string id;
public:
A(string s1,string s3, int n1, int n2) :Student(s1, n1),id(s3) {};
};