如何初始化可以设置为默认数组并将输入/输出作为数组的类函数?



我应该使用类"field01"。"field01" 具有大小为 int 7 的数组的输入和输出函数。在 main 函数中有一个默认的 field01,我似乎找不到一种方法让我的 field01 函数与默认初始化一致。(似乎我无法让 field01 作为数组读取(我是新手,所以请耐心等待初学者和潜在的坏代码!

我已将构造函数形成的类作为....字段01(({};....field01(int p[7]({};.....字段01(p({};...field01(int p[]({} 都具有类 "int p[7]" 的私有成员

class field01{public: field01(){};//...input, output and overload+ functions here 
private:
int p[7];};

int main(void)
{field01 a(0,1,2,3,4,5,6);
return 0;}

代码将无法编译。我收到一条错误消息"没有用于初始化'field01'的匹配构造函数",该消息点亮了 field01 声明。

那是因为你没有有 7 个int的构造函数。您只有 1 个具有 0 个参数的构造函数。

如果你想让类接受这样的 7 个参数,你需要为它创建一个特殊的构造函数。这将如下所示:

class field01 {
public:
field01(int i1,int i2,int i3, int i4, int i5, int i6, int i7) {
p[0] = i1;
p[1] = i2;
p[2] = i3;
p[3] = i4;
p[4] = i5;
p[5] = i6;
p[6] = i7;
}
};

最新更新