|
class::test1(int a)
class::test2(int a)
class::test3(int a)
定义类函数指针数组
void(class::func)(int) = {&class::test1,&class::test2,&class::test3}
如何调用指针函数 或还有什么办法定义和调用类指针函数
不知道你想要的是不是这种效果
- class A;
- typedef int (A::* pAFunc)(int x);
- class A {
- private:
- int val;
- public:
- A(int x) :val(x) {};
- int func1(int x) {
- cout << val + 1 << endl;
- return val + 1;
- }
- int func2(int x) {
- cout << val + 2 << endl;
- return val + 2;
- }
- int FuncRun(pAFunc func,int x) {
- return (this->*func)(x);
- }
- };
- int main() {
- A a(10);
- pAFunc funcArray[2];
- funcArray[0] = &A::func1;
- funcArray[1] = &A::func2;
- a.FuncRun(funcArray[0], 99);
- a.FuncRun(funcArray[1], 99);
- return 0;
- }
复制代码
|
上一篇: 想请问一下C++的new有没有类似realloc的功能下一篇: GetBitmap报错
|