:className()在className的构造函数中意味着什么?

时间:2018-08-22 18:35:12

标签: c++ c++11

我在正在使用的代码库中看到一些代码,如下所示:

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

我假设这是C ++ 11的功能,因为它在VS2012中损坏,但这是什么意思?

1 个答案:

答案 0 :(得分:22)

这是C ++ 11中的新功能。这叫做委托构造器。

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

有关其他信息,请参见http://www.stroustrup.com/C++11FAQ.html#delegating-ctorhttps://en.cppreference.com/w/cpp/language/initializer_list#Delegating_constructor