假设我正在使用一个名为 Engine 的类。据我了解,初始化此类和创建新对象的方法可以像下面这样完成:
string type = "v8";
Engine engine(type);
这将创建一个新的引擎对象... 那么现在如果我有一个名为 Car 的第二个类,它有一个 Engine 类的成员怎么办:
汽车.h
class Car
{
private:
Engine engine;
public:
Car();
}
汽车.cpp
Car::Car() {
// Need to initialize Engine
}
如何初始化成员引擎,它不是已经从头文件中初始化了吗?我很困惑,因为如果 Engine 具有多态构造函数,其中一个构造函数 Engine() 和另一个 Engine(string),它不会在 Car header 中初始化吗?我如何告诉 Car 我想要一个将在 Car 的构造函数中初始化的空 Engine 成员
最佳答案
它是这样工作的:
Car::Car(void) : engine("whatever you want")
{
}
这说明了如何初始化你的类的成员。 不同的 Car 构造函数重载可以以不同的方式初始化引擎
关于c++ - 对如何初始化类成员感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36351862/