为什么我无法在 C++ 中创建类类型数组?

-1 c++ class

我正在制作一个汽车租赁系统,我想从父类继承名称。现在我想创建一个汽车数组,其中包含 4 辆不同的汽车。我不想给这个数组一个简单的数据类型,因为这辆车也有它的型号!所以我只想使用抽象数据类型。但是当我用数组写类名(使其成为类的数据类型)时,它说

[Error] field 'Cars' has incomplete type 'Car [4]'.
Run Code Online (Sandbox Code Playgroud)

为什么以及如何解决?

除了抽象数据类型之外我不知道还能做什么。代码在这里:

class Vehicle{
   public:
    string name;
    int model;
    
};
class Car:public Vehicle{
    public:
        int seats;
        Car Cars[4];
        Car(){
    Cars[0].name = "Alto";
    Cars[1].name = "Mercedes";
    Cars[2].name = "Corolla";
    Cars[3].name = "Audi";
}
Run Code Online (Sandbox Code Playgroud)

joh*_*ohn 6

所以我认为你正在寻找的代码是这样的

class Vehicle {
public:
    string name;
    int model;
};

class Car : public Vehicle {
public:
    int seats;
};

int main()
{
    Car Cars[4];
    Cars[0].name = "Alto";
    Cars[1].name = "Mercedes";
    Cars[2].name = "Corolla";
    Cars[3].name = "Audi";
}
Run Code Online (Sandbox Code Playgroud)

创建一个数组是完全可以的,Car但在类内部创建它是不合法的(并且没有理由)Carmain相反,在(或某处)创建数组。