класс — как использовать функцию в качестве переменной переполнения стека

Я хочу создать некую систему событий в C ++ для моих нужд

Я знаю, что вы можете использовать fuction в качестве другого параметра функции

Может быть, я что-то пропустил (но в C # вы можете сделать это с обработчиками событий)

-1

Решение

Вы можете сохранить его в указателе.
Например

void func(int a) { ... }
void (*ptr)(int) = &func;
(*ptr)(5); // call the function with value 5

ptr — это указатель, который принимает в качестве значения память функции, имеющей один аргумент ‘int’ и ‘void’ в качестве возвращаемого типа.

0

Другие решения

Вы можете использоватьШаблон наблюдателя» (смотрите также UML):

Каждый слушатель события должен быть производным от абстрактного класса (Observer), который содержит методы события. Вы можете реализовать свой конкретный код слушателя событий в таком производном классе. Класс Subject содержит все объекты прослушивателя событий (вектор абстрактного класса Observer) и уведомляет их в случае возникновения события.

1

По вопросам рекламы [email protected]