C 學習筆記之 類和物件I

2021-05-23 03:21:57 字數 1313 閱讀 5243

成員函式的實現(函式定義)都寫在類體中,與一般的函式定義一樣。

class tdate

void print()

物件的初始化

class tdate

;tdate::tdate(int y, int m, int d)

tdate::~tdate()

void tdate::print()

~tdate1()

//函式名與類名相同,引數為引用同類的乙個物件,如果無顯示定義拷貝初始化函式,編譯系統會自動生成乙個,作為該類的公有成員

tdate1(tdate1 &p)

void print()

tdate1 f(tdate1 q)

成員函式的特性

成員函式分為內聯函式和外聯函式

內聯函式的函式體放在類體內,編譯過程和巨集定義一樣採用替換原則,執行效率高。一定要在呼叫之前進行定義且內聯函式無法遞迴呼叫

外聯函式說明在類體內定義在類題外,函式體在類的實現部分

在外聯函式的函式頭前面加上inline就可以變成外聯函式

靜態成員

解決資料的共享問題

實現多個物件之間的資料共享,可以不使用全域性物件,而是用靜態的資料成員

它是類的所用物件共享的成員,而不是某個物件的成員,節省記憶體

初始化時注意:

在類體外初始化,前面不用加static

不加該成員的訪問控制符private、public等

用作用域運算子來表明它所屬的類,它為類的成員,而非物件的

靜態資料成員

class myclass

;int myclass::sum = 0;//在類體外初始化,前面不用加static,不加該成員的訪問控制符private、public等

myclass::myclass(int a,int b)

void myclass::getnumber()

}靜態成員函式

class m

static void f1(m m);

private: int a;

static int b;

};//在靜態成員函式的實現中可以引用類中的靜態成員,必須經過物件來引用類中說明的非靜態成員

void m::f1(m m)

void getxy();

friend double distance(point &a,point &b);

private:

double x,y;

};void point::getxy()

double distance(point &a,point &b)

void main()

C 學習筆記之類和物件

建構函式 析構函式 訪問控制 例子1 帶預設引數 檔案circle.h if defined circle h define circle h include using namespace std class circle void draw 複製建構函式 circle circle c void...

《C 學習筆記》之類和物件

一,對類和物件的理解 人們可以通過類自定義自己需要的型別,新的型別中可以有資料,可以有對資料進行處理的方法。然後對類進行例項化後,就產生了物件,類是物件的抽象,物件是是類的具體化。比如家庭是乙個類,這個類中有資料 家庭成員,方法 家庭成員的日常活動。然後這個類具體化後可以產生甲同學的家庭,乙同學的家...

c 學習筆記之類和物件

一 與生活中的類一樣 程式中的類描述了一種物件,定義乙個完整的類,需要包括字段 屬性 方法 建構函式和析構函式 析構函式在程式編譯時自動生成,可以不必自己寫 定義類的方法和字段時,要通過訪問修飾符來修飾類和類成員的訪問許可權。public為公共訪問,可以有任何其他類成員訪問。private為私有訪問...