亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

默認構造函數有什么意義啊?

默認構造函數是沒有實參的構造函數,那如果這樣子的話和不聲明默認構造函數而系統自動聲明的有什么區別呢?

正在回答

1 回答

區別:

1、構造函數的函數名稱與類名同名,其他方法(函數)名稱可以自定義。

2、構造函數僅在對象被創建時系統會根據給定的參數以及類中的構造函數定義進行選擇調用,如果類中沒有定義構造函數,系統默認會提供一個無參構造空函數,什么都不會做,只是滿足接口要求,構造函數不能被顯式調用。其他函數根據程序員需要而調用,且必須顯式調用。

3、由于對象創建后,系統必須返回新建對象的地址,賦值給指針變量(C++,C#中是將引用賦值給對象變量,其實一樣,內部也是對象地址),那么換句話說,返回接口被系統占用了,因此構造函數就不能返回任何類型值,所有帶返回值構造函數的定義編譯器都不會通過。結果就是構造函數沒有也不能有返回類型,而其他函數隨意。

4、由于構造函數的作用只是在創建對象時用來初始化成員變量和對象的,因此構造函數不能被繼承也不能使用接口。換句話說,因為構造函數只在對象創建時會被調用,其他情況下永遠不會被調用,因此如果對一個類定義一個接口,接口中提供了構造函數的接口的話,該函數接口是永遠無法被顯式調用的,顯得多余了,因此如果為構造函數定義接口,編譯器會報錯。(new一個對象的時候new的是類,不會new接口)

7 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C++遠征之封裝篇(上)
  • 參與學習       103391    人
  • 解答問題       732    個

封裝--面向對象的基石,本教程力求幫助小伙伴們即學即會

進入課程

默認構造函數有什么意義???

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號