首页 > 后端开发 > C++ > C 中的构造函数链如何工作?

C 中的构造函数链如何工作?

Susan Sarandon
发布: 2025-01-01 14:41:09
原创
211 人浏览过

How Does Constructor Chaining Work in C  ?

C 中的构造函数链接

构造函数链接,其中一个构造函数从其体内调用另一个构造函数,是 C# 中初始化的常见做法具有不同参数的对象。 C 有一个类似的功能,称为委托构造函数。

C 11 及以后

在 C 11 及更高版本中,可以使用委托构造函数来实现构造函数链。语法是:

class Foo {
public:
  Foo(char x, int y);
  Foo(int y) : Foo('a', y) {}
};
登录后复制

Foo(int y) 构造函数使用 x 的默认值调用 Foo(char x, int y) 构造函数。

C 03 和早期版本

C 03 不支持委托构造函数。不过模拟方法有两种:

  • 默认参数:将多个构造函数与默认参数值组合起来。
class Foo {
public:
  Foo(char x, int y = 0);  // combines constructors (char) and (char, int)
  // ...
};
登录后复制
  • 初始化方法:通过私有初始化在构造函数之间共享公共代码方法。
class Foo {
public:
  Foo(char x);
  Foo(char x, int y);
  // ...
private:
  void init(char x, int y);
};

Foo::Foo(char x)
{
  init(x, x + 7);
  // ...
}

Foo::Foo(char x, int y)
{
  init(x, y);
  // ...
}

void Foo::init(char x, int y)
{
  // ...
}
登录后复制

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

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