c++物件陣列和this指標
阿新 • • 發佈:2018-12-26
當程式需要建立同一個類的多個物件時,可以建立物件陣列,宣告物件陣列的方法和宣告標準型別陣列相同,且陣列用法也相同。
宣告:Stock mystuff[4];
初試化:Stock stocks[4]=
{
Stock("WANG",1,2),
Stock("zhang",2,3),
Stock();
};
其中,第三個使用的是預設的建構函式,1和2使用的是已定義的建構函式,由於只宣告的前三個,所以第四個也是預設的建構函式。
在類中定義的名稱(如類成員函式名和類成員名)的作用域都為整個類,作用域為整個類的名稱只是在該類中是已知的,在類外是不可知的。因此,可以在不同的類中使用相同的類成員名而不會引起衝突。類的作用域特性導致不能從外部直接訪問類的成員,共有成員函式也是如此。要呼叫公有成員函式,必須通過物件,使用作用域解析運算子:
:: . 和->三種。
2:可以建立一個作用域為類的符號常量,這樣可以供物件陣列使用,有兩種方法:
class Bakery
{
private:
enum{Months=12};
//static const int months=12;
double costs[Months];
}
這兩種方法都行,但是以前常用的方法const int Months =12;是不行的,因為宣告只是描述了物件的形式,並沒有建立物件,因此,在建立物件前,並沒有用於儲存值的空間。