真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C++——類和對象講解-創(chuàng)新互聯(lián)

在這里插入圖片描述
在這里插入圖片描述

創(chuàng)新互聯(lián)是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷策劃、小程序制作、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動互聯(lián)開發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立十余年以來,已經(jīng)為1000多家成都PE包裝袋各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)?,F(xiàn)在,服務(wù)的1000多家客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。C++——類和對象講解總覽

在這里插入圖片描述
本篇文章的講解將按照上述的方式,逐層遞進(jìn),進(jìn)一步幫你拿捏C++類和對象這部分。

類和對象上(基礎(chǔ)篇) 1、初識面向?qū)ο缶幊蹋?p>初步了解面向過程和面向?qū)ο蟮膮^(qū)別
在這里插入圖片描述
舉個比較感人的例子用來幫助鐵子們理解(友情提示:內(nèi)容可能引發(fā)不適,不能接受請及時略過)
在這里插入圖片描述

狗改不了吃屎,這其中的狗吃屎(狗選擇了什么食物來填飽肚子)就可以理解為面向?qū)ο?br />在這里插入圖片描述
而吃狗屎,(狗吃屎的過程)狗享受食物的這個過程就可以理解為面向過程

在這里插入圖片描述

狗的食物需求種類豐富多樣,可以是大米飯,也可以是豬排骨,還可以是屎…在這些用來填飽肚子的食物當(dāng)中,狗對自己的便便算得上是情有獨(dú)鐘了,畢竟吃起來回味無窮,這樣看起來如此秀色可餐的美食也讓我們每個人都垂涎三尺了,但是很可惜的是我們無福消受。
在這里插入圖片描述

2、類的引入:

在這里插入圖片描述
我以定義菜單上的食物類為例,向大家講解他們之間的區(qū)別:

(1)C語言的方式
在這里插入圖片描述

(2)C++的方式
在這里插入圖片描述
從上述的例子,我們就能輕而易舉地看出其區(qū)別,C語言只允許有成員變量在結(jié)構(gòu)體中,而C++的結(jié)構(gòu)體中不僅僅只有成員變量,而且還允許有成員方法(即所謂的函數(shù)),也就是C++將結(jié)構(gòu)體升級成為了類,所以更喜歡用class來表示類,而不是struct。(注:class在英文翻譯中不單單是只有班級的意思,更還有類這方面的意思)

在這里插入圖片描述

3、類的定義:

(1)模板樣式
在這里插入圖片描述
class為定義類的關(guān)鍵字,ClassName為類的名字,{}中為類的主體,注意類定義結(jié)束時后面是有分號的,千萬不要忘記,有的編譯器會幫你自動補(bǔ)充,但是也有不會幫你自動補(bǔ)充的!
類中的元素稱為類的成員:類中的數(shù)據(jù)稱為類的屬性或者成員變量; 類中的函數(shù)稱為類的方法或者成員函數(shù)。

(2)類的兩種定義方式:

以我前面寫的食物類為例:

【1】 聲明和定義全部放在類體中,需要注意:成員函數(shù)如果在類中定義,編譯器可能會將其當(dāng)成內(nèi)聯(lián)函數(shù)處理。
在這里插入圖片描述
擴(kuò)展遷移(何為內(nèi)聯(lián)函數(shù)?懂得小伙伴可以略過)
很多小伙伴可能不太清楚內(nèi)聯(lián)函數(shù)是什么意思,那這里我再簡單講解下內(nèi)聯(lián)函數(shù):
①概念:以inline修飾的函數(shù)叫做內(nèi)聯(lián)函數(shù),編譯時C++編譯器會在調(diào)用內(nèi)聯(lián)函數(shù)的地方展開,沒有函數(shù)壓棧的開銷,內(nèi)聯(lián)函數(shù)提升程序運(yùn)行的效率。
②特性:
a. inline是一種以空間換時間的做法,省去調(diào)用函數(shù)額開銷。所以代碼很長或者有循環(huán)/遞歸的函數(shù)不適宜使用作為內(nèi)聯(lián)函數(shù)。
b. inline對于編譯器而言只是一個建議,編譯器會自動優(yōu)化,如果定義為inline的函數(shù)體內(nèi)有循環(huán)/遞歸等
等,編譯器優(yōu)化時會忽略掉內(nèi)聯(lián)。
c. inline不建議聲明和定義分離,分離會導(dǎo)致鏈接錯誤。因為inline被展開,就沒有函數(shù)地址了,鏈接就會
找不到。

【2】聲明放在.h文件中,類的定義放在.cpp文件中
在這里插入圖片描述
在這里插入圖片描述
一般情況下,更期望采用第二種方式。

4、類的訪問限定符及封裝:

(1)訪問限定符

C++實現(xiàn)封裝的方式:用類將對象的屬性與方法結(jié)合在一塊,讓對象更加完善,通過訪問權(quán)限選擇性的將其接口提供給外部的用戶使用。

在這里插入圖片描述
【訪問限定符說明】
①public修飾的成員在類外可以直接被訪問
②protected和private修飾的成員在類外不能直接被訪問(此處protected和private是類似的)
③訪問權(quán)限作用域從該訪問限定符出現(xiàn)的位置開始直到下一個訪問限定符出現(xiàn)時為止
④class的默認(rèn)訪問權(quán)限為private,struct為public(因為struct要兼容C)

注意:訪問限定符只在編譯時有用,當(dāng)數(shù)據(jù)映射到內(nèi)存后,沒有任何訪問限定符上的區(qū)別

拓展引申:
基于第④小點,我們就可以明確地清楚C++中struct和class的主要區(qū)別是什么?
即C++需要兼容C語言,所以C++中struct可以當(dāng)成結(jié)構(gòu)體去使用。另外C++中struct還可以用來定義類。
和class是定義類是一樣的,區(qū)別是struct的成員默認(rèn)訪問方式是public,class是的成員默認(rèn)訪問方式是
private。

(2)封裝

在類和對象階段,我們只研究類的封裝特性,那什么是封裝呢?

概念:將數(shù)據(jù)和操作數(shù)據(jù)的方法進(jìn)行有機(jī)結(jié)合,隱藏對象的屬性和實現(xiàn)細(xì)節(jié),僅對外公開接口來和對象進(jìn)行交互。

封裝本質(zhì)上是一種管理:

就比如說當(dāng)下全球都受到新冠疫情的影響,我國作為世界上少有的大國,又是如何做到疫情防控楷模,有效地抑制疫情在中國的傳播呢?我們使用健康碼通行制度(紅碼、黃碼、綠碼),只有當(dāng)你是綠碼的時候,你才能自由通行去想去的地方,否則就要進(jìn)行隔離,并且當(dāng)有地方出現(xiàn)疫情以后,也會根據(jù)疫情的嚴(yán)重程度變?yōu)橹懈唢L(fēng)險區(qū)、高風(fēng)險區(qū)等等,只有當(dāng)連續(xù)14天都沒有出現(xiàn)疫情才降為低風(fēng)險區(qū),正是因為國家這么合理有效地管控疫情,我國疫情才能如此的平穩(wěn)。很難想象如果我國不采用這些制度來管控疫情,那么我國疫情的現(xiàn)狀又該如何?說到這里,我們就得大大的為國家點贊了,非常慶幸生在中國!感謝祖國的保護(hù)。

類的封裝(使用protected/private把成員封裝起來)也是一樣的道理,好比你這邊是疫情高風(fēng)險區(qū),就必須得封控起來不讓你出去,也不能讓外面進(jìn)來,進(jìn)而才能有效地抑制疫情的發(fā)展。如果你類的封裝不夠完善,安全性不高,就如同這疫情防控一樣,豈不是亂套了嗎?

5、類的作用域:

類定義了一個新的作用域,類的所有成員都在類的作用域中。在類體外定義成員,需要使用 :: 作用域解析符指明成員屬于哪個類域。

以我前面寫的食物類為例:
在這里插入圖片描述
在這里插入圖片描述

6、類的實例化

用類類型創(chuàng)建對象的過程,稱為類的實例化。

①類只是一個模型一樣的東西,限定了類有哪些成員,定義出一個類并沒有分配實際的內(nèi)存空間來存儲它。

②一個類可以實例化出多個對象,實例化出的對象 占用實際的物理空間,存儲類成員變量。

③做個比方。類實例化出對象就像現(xiàn)實中使用建筑設(shè)計圖建造出房子,類就像是設(shè)計圖,只設(shè)計出需要什
么東西,但是并沒有實體的建筑存在,同樣類也只是一個設(shè)計,實例化出的對象才能實際存儲數(shù)據(jù),占
用物理空間。

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
以我前面寫的食物類為例:

在這里插入圖片描述

7、類對象模型:

(1)如何計算類對象的大???
在這里插入圖片描述
問題:類中既可以有成員變量,又可以有成員函數(shù),那么一個類的對象中包含了什么?如何計算一個類的大小呢?

在這里插入圖片描述

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)頁題目:C++——類和對象講解-創(chuàng)新互聯(lián)
文章URL:http://weahome.cn/article/dgspgd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部