gpt4 book ai didi

c++ - 对如何初始化类成员感到困惑

转载 作者:行者123 更新时间:2023-11-30 03:43:05 26 4
gpt4 key购买 nike

假设我正在使用一个名为 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com