課程
/后端開發(fā)
/C++
/C++遠征之封裝篇(下)
Line:Line(int x1,int y1,int x2,int y2):m_coorA(x1,y1),m_coorB(x2,y2)
{
}
2015-11-26
源自:C++遠征之封裝篇(下) 2-7
正在回答
因為要調(diào)用父類的有兩個參數(shù)的那個構(gòu)造函數(shù),如果初始化放在子類的構(gòu)造函數(shù)中而不用初始化列表,很難調(diào)用父類的有兩個參數(shù)的那個構(gòu)造函數(shù),當然你可以在子類的構(gòu)造函數(shù)中這樣寫:m_coorA.x = x1;m_coorA.y = y1;m_coorB.x = x1;m_coorB.y = y1;這樣寫可以達到初始化的目的,但寫的代碼就多了,直接調(diào)用父類的有兩個參數(shù)的那個構(gòu)造函數(shù)就簡單多了,所以選擇用初始化列表。
雲(yún)野 提問者
雲(yún)野 提問者 回復 DoDream
實例化Line時,要先實例化m_coorA和m_coorB,但是這兩個對象沒有默認構(gòu)造函數(shù),所以要用初始化列表。(初始化列表執(zhí)行 在構(gòu)造函數(shù)之前!?。。?br />
熱噴Redpen
舉報
封裝--面向?qū)ο笕筇卣髦?,通過案例讓C++所學知識融會貫通
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2015-11-26
因為要調(diào)用父類的有兩個參數(shù)的那個構(gòu)造函數(shù),如果初始化放在子類的構(gòu)造函數(shù)中而不用初始化列表,很難調(diào)用父類的有兩個參數(shù)的那個構(gòu)造函數(shù),當然你可以在子類的構(gòu)造函數(shù)中這樣寫:m_coorA.x = x1;m_coorA.y = y1;m_coorB.x = x1;m_coorB.y = y1;這樣寫可以達到初始化的目的,但寫的代碼就多了,直接調(diào)用父類的有兩個參數(shù)的那個構(gòu)造函數(shù)就簡單多了,所以選擇用初始化列表。
2016-06-20
實例化Line時,要先實例化m_coorA和m_coorB,但是這兩個對象沒有默認構(gòu)造函數(shù),所以要用初始化列表。(初始化列表執(zhí)行 在構(gòu)造函數(shù)之前!?。。?br />