已采納回答 / qq_慕先生620106
protected和private對于外部實例來說一樣的,即 Person? person;這里person"."不出protected?和?private修飾的成員變量。
2019-08-28
已采納回答 / AlexPan0610
編譯器給出的提示是ChildLabourer類沒有m_strName和m_iAge成員變量。推測是子類的初始化列表先于父類的構造函數執行,否則無法將參數傳遞給父類。因此在執行ChildLabourer的初始化列表時,父類(Worker, Children)的構造方法尚未執行,當然成員變量(m_strName, m_iAge)也就不存在,因此不能在子類的初始化列表中初始化父類的成員變量。
2019-08-05
已采納回答 / yiyoo
用virtual虛析構函數是為了防止內存泄漏。具體地說,如果派生類中申請了內存空間,并在其析構函數中對這些內存空間進行釋放。假設基類中采用的是非虛析構函數,當刪除基類指針指向的派生類對象時就不會觸發動態綁定,因而只會調用基類的析構函數,而不會調用派生類的析構函數。那么在這種情況下,派生類中申請的空間就得不到釋放從而產生內存泄漏。所以,為了防止這種情況的發生,C++中基類的析構函數應采用virtual虛析構函數。
2018-11-04
已采納回答 / Aralkyle_La_pluie
老師用的是Microsoft Visual Studio 2010 ,現在你可以自己搭建Microsoft Visual Studio 2017的IDE,網上可百度出注冊碼
2018-07-14
已采納回答 / 小圖兔
個人總結:virtual當前出現的三種地方:虛析構函數:當父類指針指向子類對象時,釋放內存時,若不定義virtual,則僅釋放父類內存。虛繼承:防止多繼承和多重繼承時,一個父類被繼承多次,造成內存空間的浪費。虛函數:當父類指針指向子類對象時,父類指針可以指向子類方法。
2018-06-28
已采納回答 / 慕無忌5762020
或者 你也可以在 派生類中 再寫一個public 下的函數 去調用 protect中的 函數? 這樣做 幾乎沒有任何意義? 本來就是為了調用函數 現在要用另外一個函數 去調用這個函數?
2018-06-26