C++初始化列表问题,类中有一个对象类型的数组成员变量,在初始化列表中初始化时报错“[]”操作符语法错误
2013-03-12 15:10
731 查看
数组作为成员变量时只有默认初始化,也就是无法传递参数。有两种变通方案:你可以把对象数组改成指针数组,或者把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); } };
相关文章推荐
- 【c++程序】在数组对象中初始化成员变量
- c++中什么类型的成员变量只能在构造函数的初始化列表中进行
- [笔试题 9][c/c++]关于成员变量,对象成员的初始化问题
- 关于c++的类中成员变量初始化问题+初始化列表中对应顺序问题!
- c++数据成员变量初始化顺序问题及特殊成员变量类型初始化
- C++ 转换类型运算符 调用构造函数将变量转化成为一个对象的成员变量
- C/C++之全局、static对象/变量的初始化问题
- C/C++ 通过初始化列表和构造函数内赋值初始化成员变量的区别
- C++中各种类型的成员变量的初始化方法(mark-好)
- C/C++ 通过初始化列表和构造函数内赋值初始化成员变量的区别
- C++中各种类型的成员变量的初始化方法(转)
- C++成员变量的初始化顺序问题
- C++成员变量初始化顺序问题
- C++成员变量的初始化顺序如果不使用初始化列表初始化,在构造函数内初始化时,此时与成员变量在构造函数中的位置有关。
- C++中各种类型的成员变量的初始化方法
- 常成员变量数组初始化的问题
- C++成员变量的初始化顺序问题
- C++中使用初始化列表比在构造函数中对成员变量赋值更高效
- C++ 成员变量的初始化顺序问题详解
- 7 面向对象(成员变量和局部变量的区别,类作为形式参数的问题,匿名对象,封装,private关键字,this关键字,构造方法,类的初始化过程,static关键字)