当前位置: 首页 > news >正文

委托构造函数与继承构造函数

委托构造函数

允许同一类中的构造函数调用另一个构造函数,以复用初始化逻辑。

  • 委托构造函数不能同时初始化成员变量,只能委托给其他构造函数。

  • 避免循环委托(如构造函数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声明的位置决定(如publicprotected)。

class Base {
public:
    Base(int a) {}
    Base(double b) {}
};

class Derived : public Base {
public:
    using Base::Base; // 继承Base(int)和Base(double)
    int d{0};         // 类内初始化新成员
};

相关文章:

  • nginx反向代理负载均衡
  • 数据结构 day02
  • 2024年度中国家居冠军榜公布,冠珠瓷砖荣获“行业领军品牌”
  • 深度学习(1)-简单神经网络示例
  • 力扣 乘积最大子数组
  • 【数据结构基础_链表】
  • 基因组数据分析中涉及基因结构的问题
  • 论文解读之DeepSeek R1
  • 【函数题】6-10 二分查找
  • 全方位探索DeepSeek
  • ROS turtlesim 无法通过 键盘控制 turtle 移动
  • DeepSeek与ChatGPT:AI语言模型的全面对决
  • 单链表的概念,结构和优缺点
  • 使用Python和OpenCV实现图像像素压缩与解压
  • Llama3.0论文学习笔记: The Llama 3 Herd of Models
  • 硬件实用技巧:核心板与底板之间的连接方式:DIP、板对板连接器、金手指和邮票孔
  • volatile关键字
  • 贝壳和鹅卵石分类数据集4250张2类别
  • ReactiveSwift模拟登录功能
  • Java+数据可视化的红酒信息分享系统(程序+论文+讲解+安装+调试+售后等)
  • 雷军:过去一个多月是创办小米以来最艰难的时间
  • 讲座预告|全球贸易不确定情况下企业创新生态构建
  • 招行:拟出资150亿元全资发起设立金融资产投资公司
  • 国家主席习近平同普京总统举行小范围会谈
  • 毗邻三市人均GDP全部超过20万元,苏锡常是怎样做到的?
  • 城管给商户培训英语、政银企合作纾困,上海街镇这样优化营商环境