onteiros C ++ para Herança de Funções de Memb
Tenho a capacidade de uma super classe executar retornos de chamada definidos por uma classe que a herda. Sou relativamente novo em C ++ e, pelo que posso dizer, parece que o assunto de ponteiros de função de membro é uma área muito obscur
Vi respostas para perguntas e postagens aleatórias no blog que discutem todo tipo de coisas, mas não tenho certeza se alguma delas está lidando especificamente com a minha pergunta aqu
Aqui está um pedaço simples de código que ilustra o que estou tentando fazer. O exemplo pode não fazer muito sentido, mas se parece com o código que estou tentando escreve
class A {
protected:
void doSomething(void (A::*someCallback)(int a)) {
(*this.*someCallback)(1234);
}
};
class B : public A {
public:
void runDoIt() { doSomething(&B::doIt); }
void runDoSomethingElse() { doSomething(&B::doSomethingElse); }
protected:
void doIt(int foo) {
cout << "Do It! [" << foo << "]\n";
}
void doSomethingElse(int foo) {
cout << "Do Something Else! [" << foo << "]\n";
}
};
int main(int argc, char *argv[]) {
B b;
b.runDoIt();
b.runDoSomethingElse();
}