C++类中const数组如何初始化C++ 类中const数组如何初始化
(1)构造函数的初始化列表
const初始化的地⽅,不可以在构造函数体内赋值
(2)初始化列表中,初始化的写法跟普通数组⼀样,注意写法
# include <iostream>
using namespace std;
class ConstArray{
// const int scOrs[]{1, 2}; //error too many initializers for 'const int[0]'
const int sc[10]; //数组⼤⼩需要指定,否则会包跟上⾯⼀样的错误
int arr[10];
const int j;
public:
ConstArray(int cj = 0) : j(cj), arr{1, 2}, sc{10, 20} //必须要对 j、sc初始化, ⽆论有参还是⽆参构造
{
cout << "有参构造" << endl;
cout << arr[1] << endl;
cout << arr[9] << endl;
cout << sc[1] << endl;
cout << sc[9] << endl;定义数组初始化
}
};
// const int ConstArray::scOrs[]{1, 2, 3}; //not a static member 不是静态,不能这样初始化
int main()
{
ConstArray ca(23); //使⽤时,才会出现错误
return 0;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论