類的成員指針

類的成員指針

  1. 指向成員變量的指針 可以通過打印地址來看看其具體含義,其存儲的是偏移量,不是實際地址
    定義:成員變量的類型 類名::*指針變量名
    string Student::*pstr;
    賦值:指針變量名 = &類名::成員變量名
    pstr = &String::m_name;
    解引用:對象.* 指針變量名, 對象指針->.* 指針變量名
    cout << stu.*pstr;
    cout << ps->*pstr;
  2. 指向成員函數的指針
    定義:成員函數的返回類型 (類名::*指針變量名)(形參表)
    void (Student::*pfunc)(void)
    賦值:指針變量名 = &類名::成員函數名
    pfunc = &Student::who;
    解引用: (對象.指針變量名)(實參表) (對象指針->. 指針變量名)(實參表)
    (stu.*pfunc)();
    (ps->.*pfunc)();
  3. 指向靜態成員的指針和普通指針沒有區別,不需要特別的語法去描述。
發佈了25 篇原創文章 · 獲贊 34 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章