Ich möchte einen Zeiger in C++ (oder in C++ 0x) schreiben, der auf einen Operator einer Klasse verweist, sagen wir A oder B. Gibt es eine Methode dafür?C++ Zeiger auf Operatoren
Natürlich gibt es eine Syntax wie
int (A::*_p)();
aber es dieses Problem nicht lösen. Ich möchte allgemeine Zeiger machen, nicht die Basisklasse für sie spezifiziert - nur für „Operatorfunktion“ Zeiger
#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();
}
Als Sie sehr viel! Genau das habe ich gesucht! :) –