在C ++中创建另一个类的多个类对象成员

时间:2016-12-01 16:42:58

标签: c++ oop

我很难将多个类对象作为另一个类的成员。更具体一点:假设我们有两个类,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
}

}

提前致谢!

1 个答案:

答案 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等不同的类型。

相关问题