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

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

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-07 01:49:03506浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn