全域性函式和成員函式

2021-07-10 02:14:17 字數 1025 閱讀 4755

class test1

public:

//test1(this, int a, int b)  ./

/全域性函式形式

test1(int a=0, int b=0)

this->a = a;

this->b = b;

public:

int a;

int b;

public:

//成員函式

test1& t_add(test1 &t2)

// test1 t3;

// t3.a = t1.a + t2.a;

// t3.b = t1.b + t2.b;

// return t3;  

//如果是這種,返回型別是test1

this->a = this->a + t2.a;

this->b = this->b + t2.b;

return *this;

//從成員函式轉化為全域性函式,

加確定物件的this

指標// test1(test1 *pthis, int a=0, int b=0)

//  this->a = a;

//  this->b = b;

//不好的寫法

test1 t_add(test1 &t1, test1 &t2)

test1 t3;

t3.a = t1.a + t2.a;

t3.b = t1.b + t2.b;

return t3;

//從成員函式轉化為全域性函式 只需要加乙個 this

指標(指向本類的類指標)

//從全域性函式轉化為類的成員函式是,需要減乙個做左運算元引數

void main()

test1  t1(1, 2), t2(3, 4);

test1 t3;

//t1 = t_add(t1 ,t2);

====>add(this, t2);

t1.t_add(t2);

system("pause");

全域性函式VS成員函式

1 include 2 3using namespace std 45 class test613 intgeta 1417 intgetb 1821 22 test add test t2 2328 void print 2933 protected 34 private 35 inta,b 36...

c 成員函式和全域性函式的區分

include using namespace std 設計乙個立方體的類,求出立方體的面積和體積 分別用全域性函式和成員函式進行判斷兩個立方體是否相同 class cube 獲取長 intget l 設定寬 void set w int w 獲取寬 intget w 設定高 void set h ...

C 之全域性函式和成員函式互相轉換

解析 成員函式會用this指標自動隱藏第乙個運算元 左運算元 1 把全域性函式轉化成成員函式,通過this指標隱藏左運算元。test add test t1,test t2 test add test t2 2 把成員函式轉化成全域性函式,多了乙個引數 vpid printab void print...