类成员变量

时间:2014-07-27 16:08:41

标签: c++ visual-c++

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

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

class CarManager
{
public:
    void Drive();

private:
    Car car;
};

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

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

所有人都有自己的错误。

1 个答案:

答案 0 :(得分:1)

首先,必须定义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。