指向类成员(成员变量和成员方法)的指针
1:定义一个指针指向类的普通成员变量
示例代码1
点击查看代码
上面 int *p = &Test2::ma; 可以这样吗? 不可以, 编译报错 不可以将 int Test2::* 转为 int *
点击查看代码
2:定义一个函数指针指向类的成员函数
void (*pf)() = &Test2::f1(); 编译报错
要明确的指出pf是指向Test2类中函数的函数指针,如下
void(Test2::*pf)()=&Test2::f1();
如果通过函数指针调用函数?需要依赖对象,如下 Test2 t3; Test2 p4=new Test2(); t3.pf(); //*解引用
(p4->*pf)();// *解引用
3:定义函数指针指向类的静态成员方法
void (pf2)() = &Test2::static_f; (pf2)();
完整示例代码如下
点击查看代码
标签:
留言评论