
c++对于普通变量数组,通过大括号包含的值,对每个数组元素进行初始化
char chstr[256]={1,2,3,0};//赋值1,2,3,第三个元素之后全部赋值为0
对于结构体数组,初始化方式
struct SASA{
int m_a;
int m_b;
};
struct SASA saArray[3] = {{11,22},{33,44},{55,77}};
对于对象数组,对象在创建时需要调用它的构造函数,如果类中没有自定义的构造函数,则直接
CACA caArray[3];
会调用默认构造函数进行初始化
如果有自定义的无参构造函数,也是同样的初始化方式
CACA caArray[3];
如果有自定义构造函数并且携带参数,并且没有其它自定义无参构造函数,就使用如下方法初始化
CACA caArray[3] = {CACA(2,3),CACA(4,5),CACA(6,7)};
大括号里面的是类的构造函数,使用它的构造函数并且指定参数,初始化每个数组元素
例子:
#include
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;
}
结果
g++ main.cpp
a.exe
8 9 0
2 3
4 5
6 7
11 22
33 44
55 77
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)