我很难将多个类对象作为另一个类的成员。更具体一点:假设我们有两个类,A和B,A类是嵌套的。我希望main函数有一个包含3个B类对象的数组。第一个对象将有2个A类对象,第二个对象将有5个A类对象,第三个对象将有7个A类对象。我能这样做吗?以下是我的一个想法:
Class A{
private:
int variable;
public:
A(){
cout<< A created! <<endl;
}
~A(){
cout<< A destructed! <<endl;
}
};
Class B{
private:
A array[6]; //It will always create 6 elements of class A...
public:
B(){
cout<< B created! <<endl;
}
~B(){
cout<< B destructed! <<endl;
}
};
int main(){
B* array[3];
for (i = 0 ; i <= 2 ; i++)
{
array[i] = new B(); //Every B element in array have 6 elements of class A
}
}
提前致谢!
答案 0 :(得分:0)
您可以将template<int a>
class B {
A array[a];
};
int main() {
B<2> b1;
B<5> b2;
B<7> b3;
}
设为参数化类型(我认为这是正确的术语):
B<2>
但是它们不能在数组中,因为B<7>
是与node_modules
等不同的类型。