我不确定如何在自己的类中创建对象数组。例如:
class A {
public:
const static int MAX_SIZE = 10;
private:
A arrayOfOBjects[MAX_SIZE];
}
我收到一条错误消息,“现在允许不完整的类型”我将如何解决这个问题?如果我从A类中的另一个类声明一个对象数组,它将起作用..但是如何在它自己的类中创建一个对象数组?
答案 0 :(得分:0)
使用指针。或shared_ptr等并动态分配对象
class A {
public:
const static int MAX_SIZE = 10;
private:
A * arrayOfOBjects[MAX_SIZE];
}
答案 1 :(得分:0)
通过使用指针,您可以解决此问题
class A {
public:
const static int MAX_SIZE = 10;
void allocate(){
arrayOfOBjects=new A[MAX_SIZE];
}
private:
A *arrayOfOBjects;
};
您可以将其用作以下内容
A a;
a.allocate();
答案 2 :(得分:-1)
你显然不能包含对象本身的实例。它需要无限量的存储空间; - )
出于同样的原因,你不能包含几个。也许你的意思是数组是一个静态成员,不会添加到一个实例的状态?