日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > 充電吧
[導讀]C++中的class從面向?qū)ο罄碚摮霭l(fā),將變量(屬性)和函數(shù)(方法)集中定義在一起,用于描述現(xiàn)實世界中的類。從計算機的角度,程序依然由數(shù)據(jù)段和代碼段構成。C++編譯器如何完成面向?qū)ο罄碚摰接嬎銠C程序的

C++中的class從面向?qū)ο罄碚摮霭l(fā),將變量(屬性)和函數(shù)(方法)集中定義在一起,用于描述現(xiàn)實世界中的類。從計算機的角度,程序依然由數(shù)據(jù)段和代碼段構成。

C++編譯器如何完成面向?qū)ο罄碚摰接嬎銠C程序的轉(zhuǎn)化?換句話:C++編譯器是如何管理類、對象、類和對象之間的關系?具體的說:具體對象調(diào)用類寫的方法,那c++編譯器是如何區(qū)分,是那個具體的類,調(diào)用這個方法呢?

我們先看下面一段代碼:


#includeusing?namespace?std;??
??
??
class?C1??
{??
public:??
????int?i;?//4???
????int?j;?//4??
????int?k;?//4??
protected:??
private:??
};?//12??
??
??
class?C2??
{??
public:??
????int?i;?//4??
????int?j;?//4??
????int?k;?//4??
??
??
????static?int?m;?//4?靜態(tài)放在全局區(qū)??
public:??
????int?getK()?const?{?return?k;?}?//4?放在代碼區(qū),沒占用具體的內(nèi)存空間??
????void?setK(int?val)?{?k?=?val;?}?//4??
??
??
protected:??
private:??
};?//24??16???
??
??
struct?S1??
{??
????int?i;??
????int?j;??
????int?k;??
};?//12??
??
??
struct?S2??
{??
????int?i;??
????int?j;??
????int?k;??
????static?int?m;??
};?//16??
??
??
void?main()??
{??
????printf("c1:%d?n",?sizeof(C1));??
????printf("c2:%d?n",?sizeof(C2));??
????printf("s1:%d?n",?sizeof(S1));??
????printf("s2:%d?n",?sizeof(S2));??
??
??
????system("pause");??
}??
/**?
c1:12?
c2:12?
s1:12?
s2:12?
*/

用內(nèi)存四區(qū)解釋 C++屬性和方法:C++類對象中的成員變量和成員函數(shù)是分開存儲的。
成員變量:

普通成員變量:存儲于對象中,與struct變量有相同的內(nèi)存布局和字節(jié)對齊方式
靜態(tài)成員變量:存儲于全局數(shù)據(jù)區(qū)中
成員函數(shù):存儲于代碼段中
問題出來了:很多對象共用一塊代碼,代碼是如何區(qū)分具體對象的呢?換句話說:int getK() const { retur k},代碼是如何區(qū)分,具體obj1、obj2、obj3對象的k值?



對于一個類,編譯器會將所有的數(shù)據(jù)成員打包成struct,而所有的成員函數(shù)會添加上this指針,正如圖片左邊向右邊轉(zhuǎn)換一樣,這樣C++的類基本和C就區(qū)別不大了。

結論:

1.C++類對象中的成員變量和成員函數(shù)是分開存儲的。C語言中的內(nèi)存四區(qū)模型仍然有效!
2.C++中類的普通成員函數(shù)都隱式包含一個指向當前對象的this指針。
3.靜態(tài)成員函數(shù)、成員變量屬于類
靜態(tài)成員函數(shù)與普通成員函數(shù)的區(qū)別:靜態(tài)成員函數(shù)不包含指向具體對象的指針,普通成員函數(shù)包含一個指向具體對象的指針。




本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅(qū)動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅(qū)動性能的關鍵。

關鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質(zhì)量和效率直接關系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅(qū)動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關鍵字: LED 驅(qū)動電源 開關電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅(qū)動電源
關閉