課程
/后端開發
/C++
/C++遠征之多態篇
Animal(); 默認構造函數這樣寫是錯的
Animal(){ } ? ? 這樣就是對了 ? 為什么 ?有差別嗎?
2015-11-26
源自:C++遠征之多態篇 3-4
正在回答
Animal ();僅僅是聲明,類外要對其進行定義,Animal::Animal(){};
Animal(){};是在類內定義
此回答引用于Sky_Coder
被調用了,但是父類的構造函數里面沒有任何動作,所以你看不到被調用了,如果你在父類構造函數里面寫上
?Animal(){cout<<"Animal()";} 你就會發現父類構造函數被調用的痕跡
有差別 ?的 ?函數是什么 ?不要大括號 能稱為 函數嗎 ?例如你c語言里面 ?main () 你不寫 ?大括號試試 ?
/tmp/ccNOYNZd.o: In function `Dog::Dog(std::string)':index.cpp:(.text._ZN3DogC2ESs[_ZN3DogC5ESs]+0x19): undefined reference to `Animal::Animal()'collect2: error: ld returned 1 exit status
這是報錯信息
舉報
本教程將帶領大家體會面向對象三大特性中的多態特性
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-03-20
Animal ();僅僅是聲明,類外要對其進行定義,Animal::Animal(){};
Animal(){};是在類內定義
2016-08-27
此回答引用于Sky_Coder
被調用了,但是父類的構造函數里面沒有任何動作,所以你看不到被調用了,如果你在父類構造函數里面寫上
?Animal(){cout<<"Animal()";} 你就會發現父類構造函數被調用的痕跡
2015-11-29
有差別 ?的 ?函數是什么 ?不要大括號 能稱為 函數嗎 ?例如你c語言里面 ?main () 你不寫 ?大括號試試 ?
2015-11-26
/tmp/ccNOYNZd.o: In function `Dog::Dog(std::string)':
index.cpp:(.text._ZN3DogC2ESs[_ZN3DogC5ESs]+0x19): undefined reference to `Animal::Animal()'
collect2: error: ld returned 1 exit status
這是報錯信息