#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指標是成員函式隱含指標形...