最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

C++基礎(chǔ)語法梳理:引用、封裝、繼承和多態(tài)

2021-09-10 17:00 作者:C語言編程__Plus  | 我要投稿

本期是C++基礎(chǔ)語法分享的第六節(jié),今天給大家來分享一下:

(1)引用;

(2)宏;

(3)成員初始化列表;

(4)封裝;

(5)繼承;

(6)多態(tài);


引用

左值引用

常規(guī)引用,一般表示對(duì)象的身份。

右值引用

右值引用就是必須綁定到右值(一個(gè)臨時(shí)對(duì)象、將要銷毀的對(duì)象)的引用,一般表示對(duì)象的值。

右值引用可實(shí)現(xiàn)轉(zhuǎn)移語義(Move Sementics)和精確傳遞(Perfect Forwarding),它的主要目的有兩個(gè)方面:

消除兩個(gè)對(duì)象交互時(shí)不必要的對(duì)象拷貝,節(jié)省運(yùn)算存儲(chǔ)資源,提高效率。

能夠更簡(jiǎn)潔明確地定義泛型函數(shù)。

引用折疊

X& &、X& &&、X&& &?可折疊成?X&

X&& &&?可折疊成?X&&

宏定義可以實(shí)現(xiàn)類似于函數(shù)的功能,但是它終歸不是函數(shù),而宏定義中括弧中的“參數(shù)”也不是真的參數(shù),在宏展開的時(shí)候?qū)?“參數(shù)” 進(jìn)行的是一對(duì)一的替換。

成員初始化列表

好處

更高效:少了一次調(diào)用默認(rèn)構(gòu)造函數(shù)的過程。

有些場(chǎng)合必須要用初始化列表:

常量成員,因?yàn)槌A恐荒艹跏蓟荒苜x值,所以必須放在初始化列表里面

引用類型,引用必須在定義的時(shí)候初始化,并且不能重新賦值,所以也要寫在初始化列表里面

沒有默認(rèn)構(gòu)造函數(shù)的類類型,因?yàn)槭褂贸跏蓟斜砜梢圆槐卣{(diào)用默認(rèn)構(gòu)造函數(shù)來初始化

initializer_list 列表初始化

用花括號(hào)初始化器列表初始化一個(gè)對(duì)象,其中對(duì)應(yīng)構(gòu)造函數(shù)接受一個(gè)?std::initializer_list?參數(shù).

initializer_list 使用

面向?qū)ο?/h1>

面向?qū)ο蟪绦蛟O(shè)計(jì)(Object-oriented programming,OOP)是種具有對(duì)象概念的程序編程典范,同時(shí)也是一種程序開發(fā)的抽象方針。


面向?qū)ο笕筇卣?—— 封裝、繼承、多態(tài)

封裝

把客觀事物封裝成抽象的類,并且類可以把自己的數(shù)據(jù)和方法只讓可信的類或者對(duì)象操作,對(duì)不可信的進(jìn)行信息隱藏。關(guān)鍵字:public, protected, private。不寫默認(rèn)為 private。

public?成員:可以被任意實(shí)體訪問

protected?成員:只允許被子類及本類的成員函數(shù)訪問

private?成員:只允許被本類的成員函數(shù)、友元類或友元函數(shù)訪問

繼承

基類(父類)——> 派生類(子類)

多態(tài)

多態(tài),即多種狀態(tài)(形態(tài))。簡(jiǎn)單來說,我們可以將多態(tài)定義為消息以多種形式顯示的能力。

多態(tài)是以封裝和繼承為基礎(chǔ)的。

C++ 多態(tài)分類及實(shí)現(xiàn):

重載多態(tài)(Ad-hoc Polymorphism,編譯期):函數(shù)重載、運(yùn)算符重載

子類型多態(tài)(Subtype Polymorphism,運(yùn)行期):虛函數(shù)

參數(shù)多態(tài)性(Parametric Polymorphism,編譯期):類模板、函數(shù)模板

強(qiáng)制多態(tài)(Coercion Polymorphism,編譯期/運(yùn)行期):基本類型轉(zhuǎn)換、自定義類型轉(zhuǎn)換

靜態(tài)多態(tài)(編譯期/早綁定)

函數(shù)重載

動(dòng)態(tài)多態(tài)(運(yùn)行期期/晚綁定)

虛函數(shù):用 virtual 修飾成員函數(shù),使其成為虛函數(shù)

動(dòng)態(tài)綁定:當(dāng)使用基類的引用或指針調(diào)用一個(gè)虛函數(shù)時(shí)將發(fā)生動(dòng)態(tài)綁定

注意:

可以將派生類的對(duì)象賦值給基類的指針或引用,反之不可

普通函數(shù)(非類成員函數(shù))不能是虛函數(shù)

靜態(tài)函數(shù)(static)不能是虛函數(shù)

構(gòu)造函數(shù)不能是虛函數(shù)(因?yàn)樵谡{(diào)用構(gòu)造函數(shù)時(shí),虛表指針并沒有在對(duì)象的內(nèi)存空間中,必須要構(gòu)造函數(shù)調(diào)用完成后才會(huì)形成虛表指針)

內(nèi)聯(lián)函數(shù)不能是表現(xiàn)多態(tài)性時(shí)的虛函數(shù)

動(dòng)態(tài)多態(tài)使用

今天的分享就到這里了,大家要好好學(xué)C++喲~

寫在最后:對(duì)于準(zhǔn)備學(xué)習(xí)C/C++編程的小伙伴,如果你想更好的提升你的編程核心能力(內(nèi)功)不妨從現(xiàn)在開始!

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

整理分享(多年學(xué)習(xí)的源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)

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



C++基礎(chǔ)語法梳理:引用、封裝、繼承和多態(tài)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
瑞丽市| 十堰市| 黄平县| 长岭县| 泸溪县| 甘南县| 汾西县| 金堂县| 峨边| 同心县| 大英县| 吉安县| 太湖县| 宜兴市| 桐城市| 泰宁县| 博野县| 始兴县| 桃园县| 遂宁市| 区。| 夹江县| 开封县| 宜阳县| 宜宾县| 米脂县| 平谷区| 星子县| 鹰潭市| 文昌市| 恩平市| 西昌市| 惠东县| 汕尾市| 娄底市| 济阳县| 江阴市| 德令哈市| 东光县| 庄河市| 巫溪县|