c++ - :className() 在类名的构造函数中是什么意思?
问题描述
我在我正在处理的代码库中看到一些代码,如下所示:
ZfooName::ZfooName(int magoo)
: ZfooName()
{
fGoo = magoo;
}
我假设这是一个 C++11 功能,因为它在 VS2012 中中断,但它是什么意思?
解决方案
这是 C++11 中的一个新特性。它被称为委托构造函数。
构造函数首先调用默认构造函数(被委托给的构造函数)。默认构造函数返回后,执行委托构造函数的主体。
有关更多信息,请参阅http://www.stroustrup.com/C++11FAQ.html#delegating-ctor和https://en.cppreference.com/w/cpp/language/initializer_list#Delegating_constructor。
推荐阅读
- excel - 如何将多封电子邮件发送给多个收件人?
- c++ - 使用 MQTT 传输文件
- sql - 如何总结独特的线条?
- java - 使用 Observable 更新 TableView 中的行颜色
- gwt - Enum.values() 在 GWT 中不起作用会引发编译错误
- javascript - 将字符串中的十六进制颜色代码替换为彩色 html 标记
- reactjs - 使用 Formik、Yup 和 React 进行异步验证
- python - 如何发布到 AWS IoT 作业
- azure-devops - 用于从外部站点创建分支的深层链接
- android - 如何为 API 级别 16 以上的所有设备发送本地通知?