Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Teacher269
0 / 0 / 0
Регистрация: 25.12.2012
Сообщений: 12
#1

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

05.02.2013, 15:07. Просмотров 348. Ответов 2
Метки нет (Все метки)

Приветствую!
Есть много разных классов и много динамически созданных экземпляров каждого из них. И вот в программе происходит какое-то событие (допустим клик мышью) и надо, чтобы всем экземплярам всех классов отправилось сообщение, несущее 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);}
}
Заранее благодарен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2013, 15:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как перехватывать и обрабатывать события в динамически созданных классах? (C++):

Как перехватывать события JavaScript при работе Internet Explorer (на С++) - C++
Помогите !!!

Освобождение памяти динамически созданных объектов - C++
Подскажите, есть к примеру три класса: Class1, Class2, Class3. В Class2 имеется метод, в котором динамически создаю объекты класса...

Запись динамически созданных объектов в файл - C++
Всем привет. Хочу спросить, пока не наделал глупостей. Есть два класса. //первый класс, родитель class someObj { ...

Семафоры для динамически созданных потоков - C++
Помогите разобраться, я динамически создаю поток, который имеет общие переменные с головным потоком. Для избежания конфликтов использую,...

Освобождение динамически созданных переменных (2-ого уровня) - C++
И так, продолжу старую тему про динамику. На этот раз есть вот что: #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; ...

Как перехватывать запросы браузерного приложения? И как их потом отправлять самому? - C++
Есть некая простенькая, никем не защищённая браузерка. К примеру, какая-нибудь рыбалка из ВК. Обычная рыбалка. Когда мы кидаем удочку...

2
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
05.02.2013, 15:21 #2
в чистых плюсах разумеется такого нет, в надстройках вроде Qt можно обрабатывать события как душе угодно... конкретно для каждого класса по своему
0
I.M.
566 / 549 / 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
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2013, 17:04
Привет! Вот еще темы с ответами:

Как обрабатывать данные в функции на С++ - C++
Добрый вечер всем. Очень нужна помощь. Я очень поверхностно знаком с классами и функциями, соответственно, и код криво написал. Суть...

Определить, какие из этих имен встречаются во всех классах, какие есть хотя бы в двух классах, и какие - только в одном классе - C++
Для каждого из четырех классов указаны имена девочек, обучающихся в них. Определить, какие из этих имен встречаются во всех классах, какие...

[WPF] Как обрабатывать события динамически созданных, например, кнопок? - C# WPF
У меня есть DataGrid, и через код по нажатию кнопки &quot;добавить&quot; я добавляю одну кнопку в каждую строку данной таблицы, т.е. нажимаю кнопку...

События динамически созданных компонентов - C++ Builder
В проекте динамически создаются компоненты TShape нажатием мыши на форме. Для компоненты необходимо обработать событие OnMouseDown,в...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.