Ir ao conteúdo
  • Cadastre-se
Cambalinho

Classes - como posso criar eventos?

Recommended Posts

olhem este codigo:

#include <iostream>

using namespace std;

class test
{
private:
bool blVisible;
int x=0,y=0;
public:
void Show();
bool Visible()
{
return blVisible;
}
void Visible(bool value)
{
blVisible=value;
if (value==true) Show();//call the event
}
};

test a;

void a::Show()
{
cout << "showed";
}

int main()
{
//read data

bool b;
cin >> b;
a.Visible(;
cin >> b;
a.Visible(;
return 0;
}

agora observem esta linha:

void a::Show()

se meter 'test' em vez de 'a', funciona. mas como sabemos 1 class é '1 tipo de variavel'. então as variavies podem ter valores diferentes, assim sendo, os eventos podem ter resultados diferentes. então como posso corrigir aquela linha?

(se conseguir corrigir essa linha, ja consigo fazer o que pretendo;))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sugeriria a boost/signals2.hpp da biblioteca Boost C++. Talvez seja a melhor gerenciadora de eventos do C++. Digo, independente de plataforma.

Se quiser aprender a usar "event handling" com a Boost C++: http://en.highscore.de/cpp/boost/eventhandling.html

E para mais aplicações avançadas, o manual da Boost C++: http://www.boost.org/doc/libs/1_54_0/

Apenas cuidado, que o arquivo cabeçalho usado nesse tutorial, signal.hpp, já está descontinuado. O atual é o signals2.hpp.

E se você quiser algo dependente da plataforma, é só consultar a respectiva documentação.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Eu sugeriria a boost/signals2.hpp da biblioteca Boost C++. Talvez seja a melhor gerenciadora de eventos do C++. Digo, independente de plataforma.

Se quiser aprender a usar "event handling" com a Boost C++: http://en.highscore.de/cpp/boost/eventhandling.html

E para mais aplicações avançadas, o manual da Boost C++: http://www.boost.org/doc/libs/1_54_0/

Apenas cuidado, que o arquivo cabeçalho usado nesse tutorial, signal.hpp, já está descontinuado. O atual é o signals2.hpp.

E se você quiser algo dependente da plataforma, é só consultar a respectiva documentação.

desculpa mas ainda nem consegui instalar isso e tem muitos .h\hpp dependentes. mas da para resolver a minha situaçao? ja ficava contente com o meu codigo;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×