C/C++編程筆記:詳細講解丨C++中的構造方法
什么是構造函數(shù)?
構造函數(shù)是類的成員函數(shù),用于初始化類的對象。在C ++中,創(chuàng)建對象(類的實例)時會自動調用Constructor。它是該類的特殊成員函數(shù)。

構造函數(shù)與普通成員函數(shù)有何不同?
構造函數(shù)與普通函數(shù)在以下方面有所不同:?
構造函數(shù)與類本身具有相同的名稱
構造函數(shù)沒有返回類型
創(chuàng)建對象時會自動調用構造函數(shù)。
如果不指定構造函數(shù),則C ++編譯器會為我們生成一個默認構造函數(shù)(不帶參數(shù),并且具有空主體)。

讓我們通過一個真實的例子來了解C ++中構造函數(shù)的類型:
假設您去商店買了一個記號筆。當您想購買標記筆時,有哪些選擇?第一個你去商店說要給我一個記號筆。因此,只說給我一個標記就意味著您沒有設置哪個品牌名稱和哪種顏色,也沒有提及任何事情,只是說您想要一個標記。因此,當我們說我只想要一個標記筆時,無論市場上還是他的商店中經常出售的標記筆,他都將簡單地交出。這就是默認的構造函數(shù)!第二種方法是您去商店說我要一個標記為紅色和XYZ品牌的標記。所以您提到這件事,他會給您這個標記。因此,在這種情況下,您已經給出了參數(shù)。這就是參數(shù)化的構造函數(shù)!然后是第三個,您去商店說我要這樣的記號筆(您手上的記號筆)。因此,店主將看到該標記。好的,他會為您提供一個新標記。因此,復制該標記。這就是復制構造函數(shù)!
構造函數(shù)的類型
1.默認構造函數(shù):默認構造函數(shù)是不帶任何參數(shù)的構造函數(shù)。它沒有參數(shù)。
輸出:?
a: 10
b: 20
注意:即使我們沒有顯式定義任何構造函數(shù),編譯器也會自動隱式提供默認的構造函數(shù)。
2.參數(shù)化的構造函數(shù):可以將參數(shù)傳遞給構造函數(shù)。通常,這些參數(shù)有助于在創(chuàng)建對象時初始化對象。要創(chuàng)建參數(shù)化的構造函數(shù),只需像向其他函數(shù)一樣添加參數(shù)即可。定義構造函數(shù)的主體時,請使用參數(shù)初始化對象。?
輸出:?
p1.x = 10, p1.y = 15
當在參數(shù)化構造函數(shù)中聲明對象時,必須將初始值作為參數(shù)傳遞給構造函數(shù)。對象聲明的常規(guī)方法可能不起作用。構造函數(shù)可以顯式或隱式調用。
Example e = Example(0, 50); //顯式調用
Example e(0, 50);? ? ? ? //隱式調用
參數(shù)化構造函數(shù)的用途:?
創(chuàng)建對象時,使用它來初始化具有不同值的不同對象的各種數(shù)據元素。
它用于重載構造函數(shù)。
一個類中可以有多個構造函數(shù)嗎?
? ? ? ?是的,這稱為構造函數(shù)重載。
3.復制構造函數(shù):復制構造函數(shù)是一個成員函數(shù),它使用同一類的另一個對象初始化一個對象。有關復制構造器的詳細文章。
每當我們?yōu)橐粋€類定義一個或多個非默認構造函數(shù)(帶有參數(shù))時,也應顯式定義一個默認構造函數(shù)(不帶參數(shù)),因為在這種情況下編譯器將不提供默認構造函數(shù)。但是,沒有必要,但是始終定義默認構造函數(shù)被認為是最佳實踐。?
輸出:Error: point (double px, double py): expects 2 arguments, 0 provided
以上就是今天的全部內容了。每日分享小知識,希望對你有幫助~
另外如果你想更好的提升你的編程能力,學好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~
微信公眾號:C語言編程學習基地
分享(源碼、項目實戰(zhàn)視頻、項目筆記,基礎入門教程)
歡迎轉行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!
