指標
結構體指標:類似於物件指標
(結構體與類的區別:若不指定public和private,結構體預設為公共,類預設為私有)
class time
time *p;//定義p為指向time類物件的指標變數
time t1;
p = &t;//將t1的起始位址賦給p
2.指向物件成員的指標
●指向資料成員
與普通變數的指標變數定義的方法相同。
int*p1;//定義指向整型資料的指標變數。只能用int,因為對應的hour為int型,左右兩邊返回的資料型別要一致(p = &t)
p1 = &t1.hour;//hour應為公有資料
或者time *p2 = &t1;
cout << (*p2).hour<< endl;//hour可為私有
●指向成員函式
普通函式的指標變數定義方法:
void(*p3)();//p是指向void型函式的指標變數
p = fun;//p指向fun,不加括號
(*p3)();//呼叫fun函式
成員函式不同,因為賦值號兩側需要3個方面的匹配:
函式引數的型別和引數個數、函式的返回值型別、所屬的類(若用上面方法則此點不滿足)
正確方法為:
void(time
::*p4)()//多了乙個time::
p4 = &time
::get_time;//不加括號
(*p2)()//呼叫get_time函式
或者time *p5 = &t1;
p5->get_time();
注;成員函式不是存放在物件空間中,所以必須加上類字首
物件指標與this指標
物件指標分為三大類 指向物件的指標 指向物件成員的指標 資料類 指向物件成員的指標 函式類 includeusing namespace std class time time time int h,int m int s void time get time intmain this指標 在每乙個...
C const物件指標與const指標 (八)
1 例 1.int i 1 const int cptr i cptr 2 出錯,cptr指向的是常量1 cout cptr 注意 指向 const 的指標常用作函式的形參。將形參定義為指向 const 的指標,確保傳遞給函式的實際物件在函式中不因形參而被修改。2 const pointer本身值不...
C 物件與指標
物件與指標 class a int y privated int x 1,物件引用成員 a a a.fun a.y 0 a.x 0 2,物件指標引用成員 a b a p b p fun p y 0 3,this指標 指向當前操作物件的指標多跟無名物件打交到 4,一般成員變數指標 a dint a p...