Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用构造函数初始化成员数组_C++_Arrays_Object_Constructor_Initialization - Fatal编程技术网

C++ 使用构造函数初始化成员数组

C++ 使用构造函数初始化成员数组,c++,arrays,object,constructor,initialization,C++,Arrays,Object,Constructor,Initialization,我有一个这样的班级Space是一个抽象类,不要介意 班级学校:公共空间 { 私人: 学校操场; 楼梯和楼梯; 楼层[3]; int capa; 公众: 学校(int x):楼层[1](x)、楼层[2](x)、楼层[3](x){ cout应为: school(int x) : floors{x, x, x} { std::cout << "a school has been created" << std::endl; } school(int

我有一个这样的班级
Space
是一个抽象类,不要介意

班级学校:公共空间
{
私人:
学校操场;
楼梯和楼梯;
楼层[3];
int capa;
公众:
学校(int x):楼层[1](x)、楼层[2](x)、楼层[3](x){
cout应为:

school(int x) : floors{x, x, x}
{
    std::cout << "a school has been created" << std::endl;
}
school(intx):楼层{x,x,x}
{

首先,数组是基于0的,因此有效索引是0-2,而不是1-3

其次,您不能像试图初始化构造函数中的单个数组成员那样初始化它们

如果
floor
没有,您可以更改
floor[]
数组以保留
floor*
指针,然后使用构造函数的主体构造每个
floor
对象,例如:

班级学校:公共空间
{
私人:
...
楼层*楼层[3];
...
公众:
学校(int x){
对于(int i=0;i<3;++i){
楼层[i]=新楼层(x);
}
//根据需要进行其他初始化。。。

无法修复,但包含3个元素的数组中的有效索引是
0
1
2
。您所说的类中的对象数组是什么意思?您是指类的实例数组吗?