指向C ++中成员函数的函数指针
在C++中,当处理类或结构的成员函数时,函数指针是使用对象指针或this调用来调用的。我们只能使用该类型的指针来调用该类(或派生类)的成员,因为它们是类型安全的。
示例
#include <iostream>
using namespace std;
class AB {
public:
int sub(int a, int b) {
return a-b;
}
int div(int a, int b) {
return a/b;
}
};
//使用函数指针
int res1(int m, int n, AB* obj, int(AB::*fp)(int,int)) {
return (obj->*fp)(m,n);
}
//使用函数指针
int res2(int m, int n, AB* obj, int(AB::*fp2)(int,int)) {
return (obj->*fp2)(m,n);
}
int main() {
AB ob;
cout << "Subtraction is = " << res1(8,5, &ob, &AB::sub) << endl;
cout << "Division is = " << res2(4,2, &ob, &AB::div) << endl;
return 0;
}输出结果
Subtraction is = 3 Division is = 2
热门推荐
1 训练狗狗基础
2 怎么训练狗狗笑
3 怎么训练狗狗卧下
4 上海狗狗训练基地
5 训练狗狗排便
6 狗狗基础训练
8 如何训练狗狗装死
9 狗狗站姿训练
10 狗狗训练用品
11 训练狗狗吧
12 狗狗要怎么训练
13 怎么训练狗狗玩球
14 训练狗狗唤回
15 狗狗训练躺下
16 狗狗训练指令
17 狗狗的训练技巧
18 狗狗不好训练