C++類數組批量賦值


類和結構體不同,結構體在初始化時可以使用{...}的方法全部賦值,但是結構體怎么辦呢?一種是把數據數組寫到一個相同的結構體內,然后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]);

你覺得哪個更簡單呢?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM