我在正在使用的代码库中看到一些代码,如下所示:
ZfooName::ZfooName(int magoo)
: ZfooName()
{
fGoo = magoo;
}
我假设这是C ++ 11的功能,因为它在VS2012中损坏,但这是什么意思?
答案 0 :(得分:22)
这是C ++ 11中的新功能。这叫做委托构造器。
构造函数首先调用默认构造函数(被委托给的构造函数)。默认构造函数返回后,将委派构造函数的主体。
有关其他信息,请参见http://www.stroustrup.com/C++11FAQ.html#delegating-ctor和https://en.cppreference.com/w/cpp/language/initializer_list#Delegating_constructor。