指標與物件指標

2021-07-26 22:16:50 字數 891 閱讀 7469

指標

結構體指標:類似於物件指標

(結構體與類的區別:若不指定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...