gpt4 book ai didi

c++ - 类成员变量

转载 作者:行者123 更新时间:2023-11-28 06:46:00 25 4
gpt4 key购买 nike

我开始学习 C++,据我所知,我只能找到原始类型作为类成员。

为什么以下会给我一个错误:缺少类型标识符 - 假定为 int?

class CarManager
{
public:
void Drive();

private:
Car car;
};

尝试了所有我能想到的组合:

Car car = new Car();
Car *car = new Car();
Car &car = new Car();

都有自己的错误。

最佳答案

首先,必须定义Car:在CarManager定义之前添加#include "Car.h"

然后,如果 car 属性是一个对象(如您的示例中所建议的),它必须具有默认构造函数或在 CarManager 构造函数上初始化:

class CarManager
{
public:
CarManager() : car(...construction parameters...) {} // to be moved in cpp file, of course!
void Drive();

private:
Car car;
};

注意:如果是指针(Car* car;)或者引用(Car& car;),则不需要包含Car.h,一个前向声明就可以了(class Car; 而不是 #include "Car.h")。然后,在初始化指针/引用时包含 CarManager.cpp 中的 Car.h。

关于c++ - 类成员变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24982817/

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