我想用c++(或c++0x)编写一个指针,它将指向一个类的运算符,比如说A或B。有什么方法可以做到吗?
当然有这样的语法
int (A::*_p) ();
但它不能解决这个问题。我想制作通用指针,而不是为其指定基类-仅用于“操作员函数”的指针
#include <thread>
#include <iostream>
using namespace std;
class A
{
public:
int operator()()
{
return 10;
}
};
class B
{
public:
int operator()()
{
return 11;
}
};
int main()
{
A a;
int (*_p) ();
_p = a.operator();
cout << _p();
B b;
_p = b.operator();
cout << _p();
}