指向类成员(成员变量和成员方法)的指针
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
推荐阅读
- <四>构造函数初始化列表
- <五>关于类的各类成员
- 基础版 【网络】内网穿透方案&FRP内网穿透实战
- <二>掌握构造函数和析构函数
- WebKit策略:<foreignObject>可用于绘制svg中的html标签,但与<use>搭配不生效
- Docker | 专栏文章整理🎉🎉
- Unity之"诡异"的协程
- ModuleNotFoundError: No module named 'XXX'
- MAUI新生-XAML语法基础:语法入门Element&Property&Event&Command
- 1.76祖玛阁走法教学(祖玛阁怎么走到六层)