Ir para conteúdo
Fórum Script Brasil
  • 0

Salvando função em variavel


vinicius-sako

Pergunta

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);

}

}

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...