国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

面向?qū)ο竽P鸵稽c感想

2019-11-11 06:07:52
字體:
供稿:網(wǎng)友

基礎(chǔ)知識

1.問題

首先我們用最簡單的程序去探究一下我們的問題,我們都知道結(jié)構(gòu)體他的大小是根據(jù)成員變量的大小進行一個操作的,這個我們在C語言中已經(jīng)得到了驗證,下面我們來對類的大小進行操作。

代碼

#include "iostream"using namespace std;class C1{public:	int i;	int j;	int k;PRivate:};class C2{public:	int i;	int j;	int k;	//變量和靜態(tài)變量函數(shù)沒有放在一塊	static int m;//存儲到全局的數(shù)據(jù)區(qū)域中public:	//函數(shù)是存儲在代碼段	int getK() const { return k; };	void setK(int val){ k = val; };};int main(){	cout << "C1 大小 = %d" << sizeof(C1) << endl;	cout << "C2 大小 = %d" << sizeof(C2) << endl;	system("pause");	return 0;}

最后我們運行可以看到都是12,通過這個我們可以知道類的普通成員屬性是定義這個類大小的。然而我們看到的C2也是12但是我們前面學(xué)習(xí)了函數(shù)也是有一定大小,靜態(tài)變量也是有大小的,所以我們發(fā)現(xiàn)為什么沒有出現(xiàn)了,原來我們在以前學(xué)習(xí)的內(nèi)存四區(qū)就曉得,靜態(tài)變量它是放在靜態(tài)區(qū),而類的成員函數(shù)他是放在代碼區(qū)域,ps(這里不太懂內(nèi)存四區(qū)的朋友可以去查一下相關(guān)的知識)

問題2 C++編譯器的調(diào)用

上面的標(biāo)題沒有說完整,主要是因為文字太長,C++編輯器怎么知道我是那個類的對象在調(diào)用代碼區(qū)域的成員函數(shù)。下面就是關(guān)鍵的地方,C++編輯器是怎么對普通成員函數(shù)進行處理的

代碼

#include "iostream"using namespace std;class Test{public:	Test(int a, int b){		this->a = a;		this->b = b;	};	~Test(){		cout << "我是析構(gòu)函數(shù)" << endl;	};	int getA()	{		return this->a;	}private:	int a;	int b;};void main(){	Test t(1, 2);//====>t(this,1,2); ===>Test(&t,1,2)	t.getA();//===>getA(&t);	system("pause");}這里面的關(guān)鍵點就在定義了一個類,Test t(1,2)的時候C++編輯器在內(nèi)部就給我們轉(zhuǎn)換成了一個函數(shù)void test_initalize(Test* pthis,int a,int b)然后我們才能在里面使用這個方法,這樣我們就確定了是那個類在調(diào)用這個方法,其實我們在看看本質(zhì)還是C語言的指針作為函數(shù)的參數(shù)的應(yīng)用,這個是我覺得可以用C語言替換的一些地方。

總結(jié)

1.C++類對象中的成員變量和成員函數(shù)是分開存儲的,C語言中的內(nèi)存四區(qū)模型他仍然是有效的!2.C++中類的普通成員函數(shù)都是隱藏一個指向當(dāng)前對象的指針this。3.靜態(tài)成員函數(shù),成員變量屬于類。靜態(tài)成員函數(shù)與普通成員函數(shù)的區(qū)別靜態(tài)成員函數(shù)不包含指向具體對象的指針。就是沒有this指針。普通成員函數(shù)包含了一個指向具體對象的指針。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 富锦市| 和田市| 洞头县| 睢宁县| 从江县| 宁德市| 洛浦县| 蚌埠市| 南汇区| 织金县| 芦溪县| 武威市| 金溪县| 若尔盖县| 新巴尔虎右旗| 定日县| 定州市| 南京市| 杭州市| 察雅县| 绥宁县| 江津市| 宜兰县| 黄龙县| 桂平市| 秭归县| 深泽县| 武功县| 星子县| 波密县| 永嘉县| 耒阳市| 丰宁| 敖汉旗| 衡山县| 陆河县| 北海市| 东源县| 农安县| 镶黄旗| 仁寿县|