對象數組就是數組裡的每個元素都是類的對象,指派時先定義對象,然後将對象直接賦給數組就行了。
在某些C++程式中,使用者通常要建立同一個類的多個對象。這個時候我們就可以建立一個對象數組将這些對象放在裡面,使得程式看起來更加清楚了然。聲明對象數組的方法和普通數組是一樣的:
Stock mystuff[4];
可以用構造函數來初始化數組元素,在這種情況下,必須為每個元素調用構造函數:
如果一個類包含多個構造函數,則可以對不同的元素使用不同的構造函數。const int STK=4; Stock stocks[STKS]={ Stock("st",12.5,20), Stock("Boffo",200,2.0), Stock("Monolithic",130,3.25), Stock("Fleep",60,6.5) };
const int STK=10; Stock stocks[STKS]={ Stock("st",12.5,20), Stock(), Stock("Monolithic",130,3.25) };
上述代碼使用Stock(const string & co,long n,double pr)初始化stock[0]和stock[2],使用構造函數Stock()初始化stock[1].由于該聲明隻初始化了數組的部分元素,是以餘下的7個元素将使用預設構造函數進行初始化。
類作用域
在類中定義的名稱(如類資料成員名和類成員函數名)的作用域都為整個類,作用域為整個類的名稱隻在該類中是已知的,在類外是不可知的。是以,可以在不同類中使用相同的類成員名而不會引起沖突。另外,類作用域意味着不能從外部直接通路類的成員,共有成員函數也是如此。也就是說,要調用共有成員函數,必須通過對象。