美文网首页C++ 11
016 委托构造函数

016 委托构造函数

作者: 赵者也 | 来源:发表于2020-02-18 13:21 被阅读0次

C++11 新标准扩展了构造函数初始值的功能,使得我们可以定义所谓的 委托构造函数。一个委托构造函数使用它所属类的其他构造函数执行它自己的初始化过程,或者说它把它自己的一些(或全部)职责委托给了其他构造函数。

和其他构造函数一样,一个委托构造函数也有一个成员初始值的列表和一个函数体。在委托构造函数内,成员初始值列表只有一个唯一的入口,就是类名本身。和其他成员初始值一样,类名后面紧跟圆括号括起来的参数列表,参数列表必须与类中另外一个构造函数匹配。

举个例子:

class Test {
public:
    Test(std::string s, int n)
        : str(s), num(n){}
    explicit Test() : Test("", 0) {}
    Test(std::string s) : Test(s, 0) {}

private:
    std::string str;
    int num;
};

相关文章

  • 016 委托构造函数

    C++11 新标准扩展了构造函数初始值的功能,使得我们可以定义所谓的 委托构造函数。一个委托构造函数使用它所属类的...

  • kotlin基础-类

    一、类组成 1.主构造函数 参数类型写法的三种情况: 2.次构造函数 次构造函数需要委托给主构造函数(直接委托或者...

  • Java 和 kotlin类初始化顺序对比

    知识点: 静态代码块只执行一次 。kotlin 中每个次构造函数都需要委托给主构造函数,可以直接委托也可以通过其他...

  • ★04.关于委托构造函数

    简单示例 普通情况 继承中 注意事项 委托构造函数与继承中的继承构造函数非同一概念。

  • C++11 中值得关注的几大变化(二)

    委托构造 在以前的C++中,构造函数之间不能互相调用,所以,我们在写这些相似的构造函数里,我们会把相同的代码放到一...

  • super()

    访问父类的构造函数:可以使用 super() 函数访问父类的构造函数,从而委托父类完成一些初始化的工作 访问父类的...

  • c++ 类与对象练习程序 委托构造函数

    参考资料:《C++ Primer习题集(第5版)》 委托构造函数(C++11):使用它所属类的其他构造函数执行它自...

  • c++11 继承构造函数和委托构造函数

    1 继承构造函数 1.1 为什么需要继承构造函数 子类为完成基类初始化,在C++11之前,需要在初始化列表调用基类...

  • Flutter 6种构造函数详解

    Flutter有生成构造函数、默认构造函数、命名构造函数、重定向构造函数、常量构造函数、工厂构造函数 一.生成构造...

  • C# 构造函数总结

    构造函数 构造函数分为:实例构造函数,静态构造函数,私有构造函数。 实例构造函数 1、构造函数的名字与类名相同。 ...

网友评论

    本文标题:016 委托构造函数

    本文链接:https://www.haomeiwen.com/subject/muamuqtx.html