建構函式與this指標

2021-07-23 21:51:16 字數 1442 閱讀 8001

記憶體分為5大區 : 靜態區,常量區,棧,堆,**區

this 指標,就是乙個指向當前物件的指標,我們知道,定義乙個類,它在記憶體中不佔空間的,只有定義了該類型別的物件時,系統就會為該物件分配一段儲存空間,這段空間裡只儲存成員變數,對於成員函式,是存放在**區的

首先提到的是幾個知識點

1,類類包括「 成員和方法「

成員: (private) int a; 等等~

方法: (public) 函式 等等 ~

2,訪問限定符號

private 注意,只能在類裡面使用(如在類中包含類問題,在函式內部不能直接呼叫類中 所包含的私有成員變數(另外注意其賦值問題))

protect

public

3,引用和傳位址

int& a 和 &a

4,常用快捷鍵

ctrl+c+k 注釋

ctrl+c+u 解注釋

shift+f5 停止除錯

this指標概念

我們會在下面這個**中,實現所講的問題

class time

//或者

//time(int hour = 0, int minute = 0, int second = 0)

// : _hour(hour)

// , _minute(minute)

// , _second(second)

//{}

time(int hour, int minute, int second)

: _hour(hour)

, _minute(minute)

, _second(second) {}

void printtime()

void settime(int hour, int minute, int second)

private:

int _hour;

int _minute;

int _second; };

class date

//date()

//{}

date(int year , int month , int day =1)

: _year(year)

, _month(month)

, _day(day)

, t(0,0,0)

void setdate(int year, int month, int day)

void printdate()

private:

int _year;

int _month;

int _day;

time t; };

//date d;

void funtest()

int main()

先理解了建構函式定義。建立乙個物件,沒有傳參,則呼叫預設建構函式,建構函式是類裡面預設的。

this指標與建構函式

this指標 this指標含義及用法 1 this指標是指向每乙個成員函式的特殊指標,當不同的物件呼叫同乙個類的成員函式 時,編譯器會依據該成員函式的this指標所指向的不同物件來確定應該引用哪個物件的資料成員 2.當對乙個物件呼叫成員函式時,編譯程式先將物件的位址賦給this指標,然後呼叫成員函式...

C 建構函式與this指標

c參考原文 參考 1.this指標的用處 乙個物件的this指標並不是物件本身的一部分,不會影響sizeof 物件 的結果。this作用域是在類內部,當在類的非靜態成員函式中訪問類的非靜態成員的時候,編譯器會自動將物件本身的位址作為乙個隱含引數傳遞給函式。也就是說,即使你沒有寫上this指標,編譯器...

複製建構函式與智慧型指標

在許多引擎中,資源的管理是乙個很重要的模組。為防止出現記憶體洩漏的情況,經常採用一些特殊的技術手段,智慧型指標就是其中一種有效方法。其基本原理是 將指標看作類的例項,每種指標對應乙個類,每個具體的指標對應這個類的乙個例項。在類中設兩個成員變數,乙個作為計數器,另乙個則用來儲存此類所對應的new出來的...