委托构造函数与继承构造函数
- 电脑硬件
- 2025-09-08 09:18:01

委托构造函数
允许同一类中的构造函数调用另一个构造函数,以复用初始化逻辑。
委托构造函数不能同时初始化成员变量,只能委托给其他构造函数。
避免循环委托(如构造函数A委托给B,B又委托给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}; // 类内初始化新成员 };委托构造函数与继承构造函数由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“委托构造函数与继承构造函数”