静态数据成员(自身类类型)初始化问题

borsyu borsyu 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
自定义一个类,简化如下:
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!
...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部
borsyu
C++ 语言 65,214 成员 250,514 内容