成員函式的實現(函式定義)都寫在類體中,與一般的函式定義一樣。
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為私有訪問...