静态数据成员(自身类类型)初始化问题
自定义一个类,简化如下:
class A
{
………
public:
A(int other_array[][10]){//通过数组other_array给成员array赋值}
static A a;
public:
int array[10][10];
};
int main()
{
A test;
return 0;
}
请问像这种自身类类型作静态数据成员应该怎么初始化(要对a.array赋值)比较好?有什么需要注意的地方?
另外,如果不调用成员函数,请问如何初始化a,使得能初始化a中的array数组(已知的一百个整数都要赋给它),最好不用构造函数和拷贝构造函数?
我知道在main函数前加上一句"A A::a[10][10];"可以通过编译,然后可以在其它地方对a进行赋值,但不知能不能只在一个地方就可以完成初始化和赋值?
比如可以"A A::a.array[4][4]={{1,4,6,8,9,10,55,24,58,31},{……},……};" //这种赋值方式是错的
这种方式也可以:"A A::a.array[4][4];"后面跟值初始化的语句。
简单点说,也就是初始化和赋值是一条语句或连续的语句,中间没有其它语句。
Thx!