网站维护机构,邦邻营销型网站建设,google 官网入口,网站开发的简易步骤委托构造函数
允许同一类中的构造函数调用另一个构造函数#xff0c;以复用初始化逻辑。 委托构造函数不能同时初始化成员变量#xff0c;只能委托给其他构造函数。 避免循环委托#xff08;如构造函数A委托给B#xff0c;B又委托给A#xff09;。
class MyClass {
pu…委托构造函数
允许同一类中的构造函数调用另一个构造函数以复用初始化逻辑。 委托构造函数不能同时初始化成员变量只能委托给其他构造函数。 避免循环委托如构造函数A委托给BB又委托给A。
class MyClass {
public:MyClass(int a, int b) : x(a), y(b) {} // 主构造函数MyClass() : MyClass(0, 0) {} // 委托构造函数MyClass(int a) : MyClass(a, 0) {} // 另一个委托
private:int x, y;
};
继承构造函数
派生类通过using声明直接继承基类的构造函数无需重复编写。 继承的构造函数仅初始化基类部分派生类的新成员需通过类内初始值或默认初始化。 若派生类已定义同名构造函数会导致冲突。 继承后的构造函数访问权限由using声明的位置决定如public或protected。
class Base {
public:Base(int a) {}Base(double b) {}
};class Derived : public Base {
public:using Base::Base; // 继承Base(int)和Base(double)int d{0}; // 类内初始化新成员
};