C++ 继承中嵌套子对象初始化:使用构造函数初始化列表
您可以在 graduate 的构造函数中调用基类 student 的构造函数,并在构造函数的初始化列表中初始化嵌套子对象 Birthday。
具体代码如下:
class student {
public:
student(string name, int age) : name(name), age(age) {}
void display() {
cout << 'Name: ' << name << endl;
cout << 'Age: ' << age << endl;
}
private:
string name;
int age;
};
class Birthday {
public:
Birthday(int year, int month, int day) : year(year), month(month), day(day) {}
void display() {
cout << 'Birthday: ' << year << '/' << month << '/' << day << endl;
}
private:
int year;
int month;
int day;
};
class graduate : public student {
public:
graduate(string name, int age, int year, int month, int day) : student(name, age), birthday(year, month, day) {}
void display() {
student::display();
birthday.display();
}
private:
Birthday birthday;
};
在 graduate 的构造函数中,首先调用基类 student 的构造函数 student(name, age),然后在构造函数的初始化列表中初始化嵌套子对象 Birthday birthday(year, month, day)。这样就能够在 graduate 对象中创建并初始化 Birthday 对象。
原文地址: https://www.cveoy.top/t/topic/panT 著作权归作者所有。请勿转载和采集!