Я знаю 2 способа определения события в C ++:
1: использование обратных вызовов:
typedef void (*callback_type)(void);
class my_class
{
public:
my_class(callback_type c)
{
m_callback = c;
}
void raise_event()
{
m_callback();
}
private:
callback_type m_callback;
};
2: использование virtual
методов:
class my_class
{
public:
virtual void my_event() = 0;
void raise_event()
{
my_event();
}
};
class main_class : public my_class
{
public:
virtual void my_event()
{
// Handle EVENT.
}
};
Есть ли другой способ или другая идея для разработки событий?
и
Каков наилучший шаблон для разработки событий в ISO C ++?