Pessoal,
Estou com uma duvida em c++, queria saber se possivel colocar uma função como variavel.
Bem vou explicar melhor o que quero:
Tenho um programa que executa um comando de movimento em um drone, e nele tenho varias funções (direita, esquerda, cima ...), queria fazer uma função que movimentasse o drone, assim eu chamaria a função MoverDrone(), nela iria chamar a movimento que o drone deverar fazer, como direita ou esquerda, porem queria que o programa podesse mudar a direção dinamicamente, sem ter q chamar novamente a função MoverDrone().
Para isto pensei em usar um callback assim a mover drone ia receber a função de movimento, porem seria eu chamar ela novamente toda a vez que o movimento mudasse, então não teria como eu fazer o programa receber essa função de callback como variavel? segue um exemplo do queria:
class ConexaoDrone{
public:
explicit ConexaoDrone();
void liga();
void desliga();
void direita();
void esquerda();
void cima();
void baixo();
void movimenta();
private:
função; //esta variavel queria q fosse uma chamada para função, ou seja q ela receba qualquer uma das funções acima
}
void ConexaoDrone::MovimentaDrone(void (*funcao) ())
{
while(1){
funcao();
sleep(20);
}
}