прерывание это не метод объектов. Это некое системное событие. Создайте некий базовый класс (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено DASM 18 мая 2005 г. 16:20
В ответ на: Во-первых - возможность переопределять механизм обработки не переписывая исходный класс, во-вторых, чтобы иметь несколько обработчиков событий. отправлено <font color=gray>tilin</font> 18 мая 2005 г. 16:06

скажем CInterruptTarget с определенной виртуальной функцией virtual void OnInterrupt () = 0; Классы которые должны реагировать на прерывание наследуем от него. Дальше заводим некую таблицу указателей CInterruptTarget. Все создавыемые объекты подклассов CInterruptTarget в конструкторе пусть прописывают свой this в этой таблице, в деструкторе удалют ( не самый лучший путь делать это в конструкторе, я утрирую). Статический обработчик прерывания будет просматривать эту таблицу и вызывать переопределенные обработчики. Таблицу тоже лучше сделать неким классом с дополнительными севисными функциями... ээээ, я непонятно выражаюсь ?

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru