m_pBuffer = new char[size];? 使用new動態申請了size個char類型大小的空間,如果把char換成類名時,就是申請size個類名大小的空間。但只要是給類實例化對象申請空間,就要調用類的構造函數,而所寫的構造函數如果是
Coordinate(int x , int y );? 不是默認構造函數,參數沒有默認值,在實例化對象時,就必須給賦予x,y值,否則就會報錯,而使用new運算符申請多個內存時,無法為每個對象都賦初值x,y。那樣就會報錯。因此就需要將構造函數改為有默認值的構造函數 Coordinate(int x = 0, int y = 0);? 這樣的話編譯就可以通過了,但每個對象的x,y值都是0 .不知道我說明白了沒?
2016-12-24
m_pBuffer = new char[size];? 使用new動態申請了size個char類型大小的空間,如果把char換成類名時,就是申請size個類名大小的空間。但只要是給類實例化對象申請空間,就要調用類的構造函數,而所寫的構造函數如果是
Coordinate(int x , int y );? 不是默認構造函數,參數沒有默認值,在實例化對象時,就必須給賦予x,y值,否則就會報錯,而使用new運算符申請多個內存時,無法為每個對象都賦初值x,y。那樣就會報錯。因此就需要將構造函數改為有默認值的構造函數 Coordinate(int x = 0, int y = 0);? 這樣的話編譯就可以通過了,但每個對象的x,y值都是0 .不知道我說明白了沒?
2016-07-21
不清楚你的問題的意思,創建棧時首先要為棧分配指定大小內存空間,肯定寫在構造棧的構造函數里啊