任何人都可以在这行代码中向我解释这个奇怪的一点吗?
ClassA :: ClassA(std :: string aName):name(aName)
显然,这是该类的声明
class ClassA
{
public:
std::string name;
ClassA(std::string aName);
};
Run Code Online (Sandbox Code Playgroud)
奇怪的代码行出现在它的cpp文件中
ClassA::ClassA(std::string aName) : name(aName)
Run Code Online (Sandbox Code Playgroud)
这不是多态吗?但那么,它是什么?
这是一个带有初始化列表的构造函数:
ClassA::ClassA(std::string aName)
: name(aName) // constructor initialization list
{
// ctor body. name is already initialized here
}
Run Code Online (Sandbox Code Playgroud)
这意味着数据成员name的初始化值为aName.
它与多态性正交.
| 归档时间: |
|
| 查看次数: |
160 次 |
| 最近记录: |