亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么要添加默認的構造函數,遠征系列還想沒有說吧?


如圖所示的那樣,有橫線的地方,為什么那樣寫,要求有默認的構造函數?

正在回答

2 回答

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 .不知道我說明白了沒?

10 回復 有任何疑惑可以回復我~
#1

慕運維3094527

解析得很明白,多謝
2019-02-23 回復 有任何疑惑可以回復我~

不清楚你的問題的意思,創建棧時首先要為棧分配指定大小內存空間,肯定寫在構造棧的構造函數里啊

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么要添加默認的構造函數,遠征系列還想沒有說吧?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號