類和結構體不同,結構體在初始化時可以使用{...}的方法全部賦值,但是結構體怎么辦呢?一種是把數據數組寫到一個相同的結構體內,然后for循環使用一個非構造函數寫入到類數組中。另一種方法是直接寫入到對應數組,例如有如下一個類:
class A{
char* pname;
int property[5];
public:
void ipt(char* t,int pt[]){pname=t;
for(int i=0;i<5;i++)
property[i]=pt[i];
}
}
使用第一種方法如下:
struct Ac{
char* pname;
int property[5];
} inita[2]={{"a",1,2,3,4,5},{"b",2,3,4,5,6}};
這樣就可以調用ipt了:
A a;
for (int i =0;i< 2;i++ )
a.ipt(inita[i].pname,inita[i].property[]);
如果使用第二種方法,就不用定義這個結構了,如下:
int pr[2][5]={{1,2,3,4,5},{2,3,4,5,6}};
char* pm[2]={"a","b"};
之后直接使用for循環:
for(int i=0;i<2;i++)
a.ipt(pm[i],pr[i]);
你覺得哪個更簡單呢?