C 學習(七) 類和物件(二)

2021-10-03 07:23:18 字數 1691 閱讀 9778

#include

using

namespace std;

class

myclass

// 2、析構函式的寫法

// 沒有返回值 不寫void 函式名與類名相同 在函式名稱前加~

// 不可以有引數,不可以發生過載

// 由編譯器自動呼叫,不需要手動呼叫,編譯器也只呼叫一次

~myclass()

};void

test01()

intmain()

#include

using

namespace std;

// 分類

// 1、按照引數進行分類 有參建構函式 無參建構函式(預設建構函式)

// 2、按照型別進行分類 普通建構函式 拷貝建構函式

class

persion

// 有參

persion

(int age)

int m_age;

// 拷貝

persion

(const persion &p)

// persion(const 類名 & )

// 析構

~persion()

};// 呼叫

void

test01()

intmain()

#include

using

namespace std;

class

persion

persion

(int age)

persion

(const persion &p)

~persion()

int m_age;};

// 1、使用乙個已經建立好的物件來初始化另乙個物件

void

test01()

// 2、以值傳遞的方式,給函式的引數傳值

void

f(persion p)

// 值傳遞 拷貝

void

test02()

// 3、以值的形式返回區域性物件

persion f2()

void

test03()

intmain()

#include

using

namespace std;

class

persion

*/persion

(int age)

/*persion(const persion &p)

*/~persion()

int m_age;};

// 1、系統預設給乙個類新增至少3個函式 預設建構函式 、析構函式 、拷貝建構函式(簡單的值拷貝)

void

test01()

// 2、如果我們提供了有參的建構函式,那麼系統就不會提供預設的建構函式,但是仍然會提供拷貝建構函式

void

test02()

// 3、如果我們提供了拷貝建構函式,那麼系統就不會提供其他的建構函式

void

test03()

intmain()

C 學習 類和物件(二)

先來看下面 include using namespace std class person int main 執行結果 zyc localhost lession class a.out jack 20 123456 rose 21 654321 為什麼呼叫同樣的函式,但是結果卻不一樣呢?原因就在...

C 類和物件(二)

類和物件 類的物件如何引用私有資料成員 1 通過公有函式為私有成員賦值 class test void printxy void void main void 2 利用指標訪問私有資料成員 class test void getxy int px,int py 提取x,y值 void printxy...

C 類和物件(二)

隱含的this指標 1 每個成員函式都有乙個指標形參,它的名字是固定的,稱為this指標,this指標是隱式的。建構函式比較特殊,沒有這個隱含this形參 2 編譯器會對成員函式進行處理,在物件呼叫成員函式時,物件位址作實參傳遞給成員函式的第乙個形參this指標。3 this指標是成員函式隱含指標形...