c++对于普通变量数组,通过大括号包含的值,对每个数组元素进行初始化
对于结构体数组,初始化方式
对于对象数组,对象在创建时需要调用它的构造函数,如果类中没有自定义的构造函数,则直接
会调用默认构造函数进行初始化
如果有自定义的无参构造函数,也是同样的初始化方式
如果有自定义构造函数并且携带参数,并且没有其它自定义无参构造函数,就使用如下方法初始化
大括号里面的是类的构造函数,使用它的构造函数并且指定参数,初始化每个数组元素
例子:
#include <iostream>
using namespace std;
class CACA{
public:
CACA(){}
CACA(int a,int b){
m_a = a;
m_b = b;
}
void show(){
cout<<m_a<<" "<<m_b<<endl;
}
private:
int m_a,m_b;
};
struct SASA{
int m_a;
int m_b;
};
int main(){
int iArray[3] = {8,9,0};
cout<<iArray[0]<<" "<<iArray[1]<<" "<<iArray[2]<<endl;
CACA caArray[3] = {CACA(2,3),CACA(4,5),CACA(6,7)};
caArray[0].show();
caArray[1].show();
caArray[2].show();
struct SASA saArray[3] = {{11,22},{33,44},{55,77}};
cout<<saArray[0].m_a<<" "<<saArray[0].m_b<<endl;
cout<<saArray[1].m_a<<" "<<saArray[1].m_b<<endl;
cout<<saArray[2].m_a<<" "<<saArray[2].m_b<<endl;
return 0;
}
结果