1樓:離離原上花開
例項化這個類如果不帶引數,需要寫個不帶引數的建構函式。
一般不寫建構函式,系統會自動生成一個,但是由於你寫了一個帶引數的建構函式,系統不會自動生成,如果你不在程式中自己寫出來,那麼無法例項化。
繼承這個類
class dog:animal//加個冒號就可以了;
2樓:匿名使用者
建構函式 也有方法過載
本身就有一個空構造animal()
所以不帶引數也可以
可以被繼承啊
3樓:
如果你沒有寫animal(int a)這個函式的話,在例項化這個類的時候就可以不帶引數,這時呼叫的是預設的無參建構函式,但現在你寫了這個函式,系統就會呼叫你寫的這個有參建構函式,而不呼叫預設的無參建構函式,所以要再寫多一個無參建構函式才行。
繼承這個類很簡單,就是class cat:animal {};就行了。
完整程式:
#include
#include
using namespace std;
class animal
//無參建構函式
animal(int a)
~animal()
void eat()
void breath()
void sleep()
};class cat:animal
; };
int main()
4樓:
例項化的引數有無是根據建構函式的而定的
就你的這個例子而言只有一個建構函式,即 animal(int a)所以構造的時候系統會預設呼叫你寫的這個建構函式,所以必須帶引數,不然出錯
如果想構造不帶引數的建構函式,需再寫一個不帶引數的建構函式animal()
定義例項時 若帶引數則系統呼叫animal(int a) ,若不帶引數則系統呼叫animal()
還有一種情況,就是不寫建構函式,把你這個animal(int a) 也去掉
例項化物件時 系統會自動呼叫預設的無參建構函式但是這個建構函式什麼也不幹,只是一個步驟!
你這個類只是一個基類,
我說的只是針對基類,不可一概而論
比如繼承的子類的情況下,
就又分好多不同情況
我這裡就不詳細解說了
可以參考一下c++相關書籍……
希望我的回答對你有幫助。
請問C中static為什麼不能例項化
使用 static 修飾符宣告屬於型別本身而不是屬於特定物件的靜態成員.它不屬於特定物件。所以不能被例項化。舉個例子。人是一個類。人有腦子。這是一個用static修飾的屬性。他是針對所有的人類,是人的共同特徵。而不是某個特點物件所特有的 比如張三有腦子,李四沒腦子 只要是個人,他都有腦子 只是有的人...
C 中類的例項名(或物件名)是什麼
陣列名對bai應樓梯首臺階,對du象名對應一座山,臺階zhi 有順序dao,有一個首臺階,版便可 依次 上去,權山的結構雜亂無章,條條道路通峰頂,首地址對他一個入山口無法代表整座山,乾脆擴充套件一下讓它代表整座山,生活中表意詞語形形色色,程式語言也應該能有一點跟的山生活吧 我也沒有bai 好好思考這...
C語言main主函式帶引數是做什麼用的
在呼叫可執行程式時,可以通過main函式的引數將命令列的呼叫引數傳遞給main函式。一個c程式有且僅有一個main函式,任何一個c程式總是從main函式開始執行,main函式後面的一對圓括號不能省略。具體形式如下 main 被大括號括起來的內容稱為main函式的函式體,這部分內容就是計算機要執行的內...