深入理解C++单继承中的构造函数、析构函数及实现继承
1. 使用成员初始化列表选择基类构造函数
在实例化派生类对象时,成员初始化列表可用于指定应调用哪个基类构造函数。每个派生类构造函数都可以指定使用不同的基类构造函数来初始化派生类对象中给定的基类部分。
若派生类构造函数的成员初始化列表未指定应使用哪个基类构造函数,则将调用默认基类构造函数。成员初始化列表通过在派生类构造函数的参数列表后使用 : 来指定。要指定应使用哪个基类构造函数,可以指明基类构造函数的名称,后跟包含要传递给该基类构造函数的任何值的括号。根据基类名称后面基类列表中参数的签名,将选择合适的基类构造函数来初始化派生类对象的基类部分。
以下是一个简单示例,说明选择基类构造函数的基本语法:
// 基类定义
class Person
{
private:
string name;
string title;
public:
Person() = default; // 各种构造函数
Person(const string &, const string &);
Person(const Person &);
// 假设存在公共接口和访问函数
};
// 派生类定义
class Student: public Person
{
private:
float gpa = 0.0; // 使用类内初始化器
public:
Student() = default;
Student(const string &, co
超级会员免费看
订阅专栏 解锁全文
1994

被折叠的 条评论
为什么被折叠?



