C++初始化列表问题,类中有一个对象类型的数组成员变量,在初始化列表中初始化时报错“[]”操作符语法错误

来源:互联网 发布:淘宝助理尺码表制作 编辑:程序博客网 时间:2024/06/08 00:19
数组作为成员变量时只有默认初始化,也就是无法传递参数。有两种变通方案:你可以把对象数组改成指针数组,或者把ClassB类的构造和初始化分开。方案一:class ClassA{private:      ClassB* arrayOfObjectClassB[2];public:      ClassA(int i){            arrayObjectOfClassB[0]=new ClassB(i);            arrayObjectOfClassB[1]=new ClassB(i);      }};方案二:class ClassB{private:      int data;public:      ClassB(int d):data(d){ }      ClassB(){ }      void Init(int d){data=d;}};class ClassA{private:      ClassB arrayOfObjectClassB[2];public:      ClassA(int i){            arrayObjectOfClassB[0].Init(i);            arrayObjectOfClassB[1].Init(i);      }};
原创粉丝点击