指向類成員的指標

2021-08-16 04:28:52 字數 680 閱讀 1192

在c++語言中,可以定義乙個指標,使其指向類成員或成員函式,然後通過指標來訪問類的成員。這包括指向屬性成員的指標和指向成員函式的指標。

指向非靜態資料成員的指標在定義時必須和類相關聯,在使用時必須和具體的物件關聯。由於類不是執行時存在的物件。因此,在使用這類指標時,需要首先指定類的乙個物件,然後,通過物件來引用指標所指向的成員。

與普通意義上的指標不一樣。存放的是偏移量,通過物件或物件指標加偏移量找到資料。

#include using namespace std;

#if 0

int a;

int * p = &a;

void func();

void (*pf)() = &func;

//指向類成員的指標

//類 資料成員 函式成員

成員型別 類名:: *指標名 = &類名::成員名

函式返回類型別(類名::*函式指標名)(引數列表) = &類名::成員函式名

//物件

.* ->*

物件.*資料成員指標

物件指標->*資料成員指標

(物件.*成員函式指標)()

(物件指標->*成員函式指標)()

#endif

class stu

void print()

指向類成員的指標

一 指向類的普通成員的指標 非靜態 1 指向類成員函式的指標 簡單的講,指向類成員函式的指標與普通函式指標的區別在於,前者不僅要匹配函式的引數型別和個數以及返回值型別,還要匹配該函式指標所屬的類型別。總結一下,比較以下幾點 a 引數型別和個數 b 返回值型別 c 所屬的類型別 特別之處 究其原因,是...

指向類成員的指標

前面曾寫過一篇惱人的函式指標 一 總結了普通函式指標的宣告 定義以及呼叫,還有函式指標陣列,函式指標用作返回值等。但是作為c 的研讀,我發現我漏掉了乙個最重要的內容,就是指向類成員的指標,這裡將做相應補充 相關 測試環境為vs 2010 指向類成員的指標總的來講可以分為兩大類四小類 指向資料成員還是...

指向類成員的指標

13.1.9 指向類成員的指標 在c 語言中,可以定義乙個指標,使其指向類成員或成員函式,然後通過指標來訪問類的成員。這包括指向屬性成員的指標和指向成員函式的指標。1 指向資料成員的指標 在c 語言中,可以定義乙個指標,使其指向類成員。當屬性成員為靜態和非靜態時,指標的使用也有不同。其中,指向非靜態...