C帶例項化引數的類,C 帶例項化一個引數的類

2021-08-26 05:03:30 字數 1223 閱讀 8855

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函式的函式體,這部分內容就是計算機要執行的內...