class stock
stock::stock(const string & co, int num)
1. 顯式地呼叫建構函式:stock food = stock("world cabbage", 250);
2. 隱式地呼叫建構函式:stock garment("furry mason", 50);
stock stock1 = stock("world cabbage", 250);
stock1 = stock("nify", 10);
由於stock1物件已經存在,因此這條語句不是對stock1進行初始化,而是將新值賦給它。這是通過讓構造程式建立乙個新的,臨時的物件。然後將其內容複製給stock1來實現。隨後程式呼叫析構函式,以刪除該臨時物件。
void show() const;
stock sotcks[4]=;
剩下乙個預設初始化。
class
a
這種做法是錯誤的,因為宣告類只是描述了物件的形式,並沒有建立物件。因此,在建立物件前,將沒有用於儲存值的控制項。
實現辦法:
1. 在類中宣告乙個列舉。在類宣告中宣告的列舉的作用域為整個類,因此可以用列舉為整型常量提供作用域為整個類的符號名稱。
classa;
double cost[month];
}
用這種方式宣告列舉並不會建立類資料成員。也就是說,所有物件中都不包含列舉。另外,month只是乙個符號名稱,在作用域為整個類的**中遇到它時,編譯器將用12來替換它。
使用static
C Primer Plus 第十章 陣列和指標
int sum int ar,int n intsum int int intsum int ar,int n intsum int int 指標減去乙個整數 指標必須是第乙個運算物件 相加的逆操作。遞減指標 逆操作遞增 指標求差 可以計算兩個指標的差值。通常,求差的兩個指標分別指向同乙個陣列的不同...
C primer plus第十章習題答案(部分)
這部分的題目還是很簡單的,我就只放一下最後一題的 了,利用了函式指標可以學一下。include class list void add int item bool is empty void visit void pf int void print voida int a1 intmain 這裡我沒...
第十章 陣列與指標( C primer plus)
0.陣列長度建議定義為巨集。由於編譯器不檢查陣列下標的合法性,這樣可減少下標越界錯誤。1.唯讀陣列宣告最前面加const,且必須同時初始化。2.陣列屬於自動儲存類,陣列元素的值不初始化時是不定的 部分初始化,後面預設為0 多初始化出錯。3.可以讓陣列長度空著,由編譯器根據初始化的數值的個數確定陣列大...