point a(1,2);
a中有個show函式
1.a.show()//物件呼叫
2.指標呼叫
point* p=&a;
(*p).show()//或者p->show() *p要加括號 優先順序問題
3.成員函式指標
int (point::*q)()=point::show;//相當於在類中加乙個指標
(a.*q)()
通過指標訪問類的靜態成員
class a
int a::p=0;//靜態成員要定義
int *q=&a::p;
初始化時:
指標指向函式
型別 (類名::指標名)(引數)=類名::函式名
指標指向資料
型別 類名::指標名=&類名::資料名
呼叫時:
指標指向函式
(物件名.*指標名)(引數)
或者(物件名->*指標名)(引數)
指標指向資料
物件名.*指標名
靜態成員函式和非靜態成員函式的區別?
乙個靜態成員函式不與任何物件相聯絡,故不能對非靜態成員進行預設訪問。它們的根本區別在於靜態成員函式沒有this指標,而非靜態成員函式有乙個指向當前物件的指標this。例如 1 classsc2 89void f sc s 10函式nsfn 可被認為它宣告為void sc nsfn sc this i...
靜態成員函式與非靜態成員函式的區別
先放上幾個小例子 1 static 修飾成員變數 靜態變數,是在編譯階段就分配空間,物件還沒有建立時,就已經分配空間。靜態成員變數必須在類中宣告,在類外定義。靜態資料成員不屬於某個物件,在為物件分配空間中不包括靜態成員所佔空間。class data 定義的時候 不需要加static int data...
靜態成員函式和非靜態成員函式的區別?
乙個靜態成員函式不與任何物件相聯絡,故不能對非靜態成員進行預設訪問。它們的根本區別在於靜態成員函式沒有this指標,而非靜態成員函式有乙個指向當前物件的指標this。例如 1 classsc2 89void f sc s 10 函式nsfn 可被認為它宣告為void sc nsfn sc this ...