指向类成员(成员变量和成员方法)的指针
1:定义一个指针指向类的普通成员变量
示例代码1
点击查看代码【<六>指向类成员的指针】上面 int *p = &Test2::ma; 可以这样吗?不可以,编译报错 不可以将int Test2::* 转为 int *class Test2{public:int ma;static int mb;void f1(){cout<<"Test::void f1()"<<endl;}static void static_f(){cout<<"Test::void static_f()"<<endl;}};int Test2::mb=0;int main(){int *p = &Test2::ma;return 1;}
点击查看代码2:定义一个函数指针指向类的成员函数需要这样定义intTest2::*p = &Test2::ma;*p=30;//这样操作没有意义,因为ma是需要基于对象的,所以需要这样Test2t;intTest2::*p = &Test2::ma;t.*p=30;或者Test2 *pt=new Test2();intTest2::*pp = &Test2::ma;pt->*pp=40;或者int *p3=&Test2::mb;*p3=50;
void (*pf)() = &Test2::f1(); 编译报错
要明确的指出pf是指向Test2类中函数的函数指针,如下
void(Test2::*pf)()=&Test2::f1();
如果通过函数指针调用函数?需要依赖对象,如下Test2t3;Test2
经验总结扩展阅读
- 2024年六月十四出生康姓男孩名字叫什么生辰八字五行查询
- 2024年六月十四出生方姓男孩名字怎么取生辰八字五行查询
- 2023年8月31日农历七月十六能不能乔迁 今天莺迁吉利吗
- <四>构造函数初始化列表
- <五>关于类的各类成员
- 基础版 【网络】内网穿透方案&FRP内网穿透实战
- 干粉灭火器压力表正常区域指针应指向
- 2023年9月6日财神在哪个方位 九月六日财神方位
- 2023年农历十月初六搬家好不好 2023年农历十月初六可以搬家吗
- 2023年农历十月初六适合搬家吗? 这天搬家几点最旺?