指向类的成员的指针——《C++ Primer Plus》

通过指向成员的指针只能访问公有成员

指向数据成员的指针

  • 声明指向公有数据成员的指针
    类型说明符 类名:: *指针名int A::*pc;
  • 声明指向公有成员函数的指针
    类型说明符 (类名:: * 指针名)(参数表)
  • 说明指针应该指向哪个成员
    指针名=&类名::数据成员名int A::*pc=&A::c
  • 通过对象名(或对象指针)与成员指针结合来访问数据成员
    对象名.* 类成员指针名A a; a.*pc=8;
    对象指针名—>*类成员指针名A *p; p->*pc=8;

指向函数成员的指针

初始化
  • 指针名=类名::函数成员名 :int (A::*pfun) (int) = A::fun
  • 通过对象名(或对象指针)与成员指针结合来访问函数成员
    (对象名.* 类成员指针名)(参数表):A a; a.*pfun(9);
    (对象指针名—>*类成员指针名)(参数表):A *p; p->*pfun(9);
发布了145 篇原创文章 · 获赞 34 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_43207025/article/details/103328258