首页 > 后端开发 > C++ > C 11 中的构造函数继承:它是如何工作的?

C 11 中的构造函数继承:它是如何工作的?

Mary-Kate Olsen
发布: 2024-11-07 01:49:03
原创
581 人浏览过

Constructor Inheritance in C  11: How Does It Work?

在 C 11 中继承构造函数

在 C 11 中,构造函数继承允许派生类从其基类隐式继承构造函数。这是通过 using 关键字实现的,它指定派生类应该使用基类的构造函数。

语法:

struct B {
  B(int); // Normal constructor 1
  B(string); // Normal constructor 2
};

struct D : B {
  using B::B; // Inherit constructors from B
};
登录后复制

含义:

  • 派生类 D 现在具有继承的构造函数:

    • D::D(int);
    • D ::D(string);
  • D 的成员变量由这些继承的构造函数默认初始化。

应用程序:

构造函数继承在以下场景中很有用:

  • 节省打字工作:它消除了在派生类中手动定义构造函数的需要。
  • 确保基类初始化:它保证基类正确初始化。

深入解释:

标准库定义继承构造函数如下:

D::D(int x) : B(x) {}
D::D(string s) : B(s) {}
登录后复制

这意味着当构造派生类 D 的实例时,它将调用基类 B 的适当构造函数来初始化其基成员。

以上是C 11 中的构造函数继承:它是如何工作的?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板