Доброго времени суток.
Начинаю программировать на С++, понадобилось сделать разные обработчики у разных объектов для события одного типа, что-то вроде "onClick".
Что то вроде этого на "pascale" (в Delphi7):
{ Создание объекта }
Button:=TButton.Create(Form1);
{Обработчик событий}
procedure Button1Click;
begin
end;
{ Привязка обработчика }
Button.OnClick:=Button1Click;
Возможно ли такое сделать на С++, чтобы в нутри функции можно было использовать поля объекта?
Сделал пока так
class TButton{
public:
void (*onClick)(void);
};
/* обработчик - простая функция (без доступа к полям объекта) */
void onClick1(void){
// что-то
}
TButton *b = new TButton();
b->onClick = onClick1;
b->onClick();// Вызов