Форум программистов, компьютерный форум CyberForum.ru

Как перехватывать и обрабатывать события в динамически созданных классах? - C++

Восстановить пароль Регистрация
 
Teacher269
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 12
05.02.2013, 15:07     Как перехватывать и обрабатывать события в динамически созданных классах? #1
Приветствую!
Есть много разных классов и много динамически созданных экземпляров каждого из них. И вот в программе происходит какое-то событие (допустим клик мышью) и надо, чтобы всем экземплярам всех классов отправилось сообщение, несущее x,y клика, а те перехватили его и обработали.
Как такую задачу корректней реализовать? Есть ли в c++ какой-нибудь готовый механизм, или придется вручную писать что-то типа такого:
C++
1
2
3
4
5
6
7
void sendMessageClick(int x, inty){
int i;
for(i=0;i<n1;i++){myclass1[i].myfunction1(x,y);}
for(i=0;i<n2;i++){myclass2[i].myfunction2(x,y);}
...
for(i=0;i<nn;i++){myclassN[i].myfunctionN(x,y);}
}
Заранее благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2013, 15:07     Как перехватывать и обрабатывать события в динамически созданных классах?
Посмотрите здесь:

C++ Как описывать методы в классах?
C++ Как установить и обрабатывать HotKey из dll (из фильтра directshow)
Как перехватывать события JavaScript при работе Internet Explorer (на С++) C++
C++ как распечатать решение программ созданных в Visual Studio?
Как использовать один и тот же объект в разных классах? C++
C++ Как хранить и обрабатывать массив больших элементов
C++ Как правильно обрабатывать исключения в приложении на базе графического движка?
C++ Как програмно показать разницу между typename и class в шаблонных классах?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
05.02.2013, 15:21     Как перехватывать и обрабатывать события в динамически созданных классах? #2
в чистых плюсах разумеется такого нет, в надстройках вроде Qt можно обрабатывать события как душе угодно... конкретно для каждого класса по своему
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
05.02.2013, 17:04     Как перехватывать и обрабатывать события в динамически созданных классах? #3
создать абстрактный класс с методом
C++
1
virtual void visit(int x, int y) = 0;
унаследовать от него все заинтересованные классы
а потом в случае очередного события запускать только один цикл, а не несколько

Добавлено через 1 минуту
если событий много и передаваемые параметры разные, то можно сделать свой класс event и передавать его в метод visit
Yandex
Объявления
05.02.2013, 17:04     Как перехватывать и обрабатывать события в динамически созданных классах?
Ответ Создать тему
Опции темы

Текущее время: 00:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru