国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C/C++編程筆記:詳細(xì)講解丨C++中的構(gòu)造方法

2021-04-22 20:13 作者:C語言編程__Plus  | 我要投稿

什么是構(gòu)造函數(shù)?

構(gòu)造函數(shù)是類的成員函數(shù),用于初始化類的對象。在C ++中,創(chuàng)建對象(類的實(shí)例)時(shí)會自動(dòng)調(diào)用Constructor。它是該類的特殊成員函數(shù)。


構(gòu)造函數(shù)與普通成員函數(shù)有何不同?

構(gòu)造函數(shù)與普通函數(shù)在以下方面有所不同:?

構(gòu)造函數(shù)與類本身具有相同的名稱

構(gòu)造函數(shù)沒有返回類型

創(chuàng)建對象時(shí)會自動(dòng)調(diào)用構(gòu)造函數(shù)。

如果不指定構(gòu)造函數(shù),則C ++編譯器會為我們生成一個(gè)默認(rèn)構(gòu)造函數(shù)(不帶參數(shù),并且具有空主體)。


讓我們通過一個(gè)真實(shí)的例子來了解C ++中構(gòu)造函數(shù)的類型:

假設(shè)您去商店買了一個(gè)記號筆。當(dāng)您想購買標(biāo)記筆時(shí),有哪些選擇?第一個(gè)你去商店說要給我一個(gè)記號筆。因此,只說給我一個(gè)標(biāo)記就意味著您沒有設(shè)置哪個(gè)品牌名稱和哪種顏色,也沒有提及任何事情,只是說您想要一個(gè)標(biāo)記。因此,當(dāng)我們說我只想要一個(gè)標(biāo)記筆時(shí),無論市場上還是他的商店中經(jīng)常出售的標(biāo)記筆,他都將簡單地交出。這就是默認(rèn)的構(gòu)造函數(shù)!第二種方法是您去商店說我要一個(gè)標(biāo)記為紅色和XYZ品牌的標(biāo)記。所以您提到這件事,他會給您這個(gè)標(biāo)記。因此,在這種情況下,您已經(jīng)給出了參數(shù)。這就是參數(shù)化的構(gòu)造函數(shù)!然后是第三個(gè),您去商店說我要這樣的記號筆(您手上的記號筆)。因此,店主將看到該標(biāo)記。好的,他會為您提供一個(gè)新標(biāo)記。因此,復(fù)制該標(biāo)記。這就是復(fù)制構(gòu)造函數(shù)!

構(gòu)造函數(shù)的類型

1.默認(rèn)構(gòu)造函數(shù):默認(rèn)構(gòu)造函數(shù)是不帶任何參數(shù)的構(gòu)造函數(shù)。它沒有參數(shù)。


輸出:?

a: 10

b: 20


注意:即使我們沒有顯式定義任何構(gòu)造函數(shù),編譯器也會自動(dòng)隱式提供默認(rèn)的構(gòu)造函數(shù)。

2.參數(shù)化的構(gòu)造函數(shù):可以將參數(shù)傳遞給構(gòu)造函數(shù)。通常,這些參數(shù)有助于在創(chuàng)建對象時(shí)初始化對象。要?jiǎng)?chuàng)建參數(shù)化的構(gòu)造函數(shù),只需像向其他函數(shù)一樣添加參數(shù)即可。定義構(gòu)造函數(shù)的主體時(shí),請使用參數(shù)初始化對象。?


輸出:?

p1.x = 10, p1.y = 15


當(dāng)在參數(shù)化構(gòu)造函數(shù)中聲明對象時(shí),必須將初始值作為參數(shù)傳遞給構(gòu)造函數(shù)。對象聲明的常規(guī)方法可能不起作用。構(gòu)造函數(shù)可以顯式或隱式調(diào)用。

Example e = Example(0, 50); //顯式調(diào)用

Example e(0, 50);? ? ? ? //隱式調(diào)用

參數(shù)化構(gòu)造函數(shù)的用途:?

創(chuàng)建對象時(shí),使用它來初始化具有不同值的不同對象的各種數(shù)據(jù)元素。

它用于重載構(gòu)造函數(shù)。

一個(gè)類中可以有多個(gè)構(gòu)造函數(shù)嗎?

? ? ? ?是的,這稱為構(gòu)造函數(shù)重載。

3.復(fù)制構(gòu)造函數(shù):復(fù)制構(gòu)造函數(shù)是一個(gè)成員函數(shù),它使用同一類的另一個(gè)對象初始化一個(gè)對象。有關(guān)復(fù)制構(gòu)造器的詳細(xì)文章。

每當(dāng)我們?yōu)橐粋€(gè)類定義一個(gè)或多個(gè)非默認(rèn)構(gòu)造函數(shù)(帶有參數(shù))時(shí),也應(yīng)顯式定義一個(gè)默認(rèn)構(gòu)造函數(shù)(不帶參數(shù)),因?yàn)樵谶@種情況下編譯器將不提供默認(rèn)構(gòu)造函數(shù)。但是,沒有必要,但是始終定義默認(rèn)構(gòu)造函數(shù)被認(rèn)為是最佳實(shí)踐。?


輸出:Error: point (double px, double py): expects 2 arguments, 0 provided

以上就是今天的全部內(nèi)容了。每日分享小知識,希望對你有幫助~

另外如果你想更好的提升你的編程能力,學(xué)好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~

微信公眾號:C語言編程學(xué)習(xí)基地

分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!



C/C++編程筆記:詳細(xì)講解丨C++中的構(gòu)造方法的評論 (共 條)

分享到微博請遵守國家法律
岢岚县| 鸡东县| 三河市| 凌云县| 包头市| 岢岚县| 上虞市| 建宁县| 克拉玛依市| 新津县| 柳江县| 静宁县| 长海县| 焦作市| 轮台县| 磴口县| 成安县| 依兰县| 渑池县| 高邑县| 鞍山市| 资讯 | 清新县| 太白县| 山阴县| 浦江县| 连平县| 什邡市| 平凉市| 泌阳县| 泸溪县| 江门市| 汝城县| 莒南县| 沂源县| 潢川县| 黎川县| 五河县| 嘉善县| 大丰市| 铁岭市|