c++在构造函数中给数组赋值问题

来源:百度知道 编辑:UC知道 时间:2024/05/25 08:48:43
编写如下程序:
class test
{
public:
test();
void show();
private:
int a[5];
};

test::test()
{
a[]={5,6,7,8,9};
}

void test::show()
{
for(int i=0;i<5;i++)
cout<<a[i]<<endl;
}

int main(int argc, char* argv[])
{
test tt;
tt.show();
getch();
return 0;
}
运行后显示错误:expression syntax.
但把构造函数里的数组一个一个的赋值:a[0]=5..a[4]=9,最后就可以正确运行。
请给我一个解释,谢谢!

a[]={5,6,7,8,9}; 这样的写法只能在声明的时候写。

如果想要在构造函数里给数组初始化,用个循环是必要的,=运算符重载也能解决这个问题,不过要比循环麻烦的多,以后不要直接给数组赋值了,…………