c++ - :className() mean in a constructor for className? 是什么

标签 c++ c++11

我在我正在处理的代码库中看到一些代码如下:

 ZfooName::ZfooName(int magoo)
    : ZfooName()
 {
    fGoo = magoo;
 }

我假设这是一个 C++11 功能,因为它在 VS2012 中中断,但这是什么意思?

最佳答案

这是 C++11 中的新特性。它称为委托(delegate)构造函数。

构造函数首先调用默认构造函数(被委托(delegate)给的构造函数)。默认构造函数返回后,执行委托(delegate)构造函数的主体。

参见 http://www.stroustrup.com/C++11FAQ.html#delegating-ctorhttps://en.cppreference.com/w/cpp/language/initializer_list#Delegating_constructor了解更多信息。

关于c++ - :className() mean in a constructor for className? 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51973151/

相关文章:

C++ 运算符重载总是 false

c++ - CMake交叉编译

c++ - 每当我运行代码时,我的默认案例总是与其他案例一起运行 (C++)

C++使用类将值传递给函数

c++ - 如何 dynamic_cast 参数中带有不匹配引用修饰符的可变参数模板?

c++ - "extra qualification"错误。标准如何保证?

c++ - 无法编译 curlpp

c++ - 在类中定义友元用户定义的文字运算符

c++ - vector 增长时如何强制执行 move 语义?

c++ - 为什么我的模板不接受初始化列表