39 / 39 / 8
Регистрация: 03.05.2013
Сообщений: 178
1

Указатель на функию или аналоги

14.06.2014, 08:48. Показов 479. Ответов 2
Метки нет (Все метки)

День добрый. Нужен совет.

Допустим у нас есть класс CS_Setting. И мы обновляем его даные в каком то модуле, допустим в майне. Как передать что данные обновленны в другие модули? Нужно что то похожее на сигналы и слоты из Qt. Тоесть при обновление данных в нутри класса вызывается связанная функция, не пренадлежащая классу. Единственное решение которое придумал следующее:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// код упрожен для лудшего понимания
class CS_Setting{
    int d;// ну тут map 
    void (* updateFun)();
    void updateNull(){return;}
public:
    CS_Setting(){d=0;updateFun=updateNull;}
    void setVariant(int date){d=date;updateFun();} // тут соответствено  ключ значение
    int getVariant(){return d;}
    void setFunUpdate(void (*update)()){updateFun=update;}
};
 
void update(){
    //Тут обработка при получении сигнала, то есть проверяем какие значения были изменины и изменяем соответсвующие значения в других классах
}
 
 
int main(int argc, char *argv[])
{
    CS_Setting a;
    a.setFunUpdate(update);
    a.setVariant(5);
    a.setVariant(5);
 
}
Теперь о том что не устраевает в данной реализации. Это глобальная проверка значений. По идее хотелось бы кучю функций которые пренадлежат классам и проверяют только изменение значений необходимых этому классу.

У кого какие предложения и идее?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2014, 08:48
Ответы с готовыми решениями:

Как получить ссылку на указатель или указатель на указатель в массиве?
В процессе реализации сортировки пузырьком натолкнулся на такую проблему: как поменять значения...

Ищу прогрмму или функию для проверки идентичности двух переменных типа string
Всем привет, кто-нибудь может скинуть ссылку на прогу или есть функция такая для проверки...

Указатель на объект или указатель на метод объекта
Здравствуйте! У меня много где случается, что надо классу заводить в заголовке указатель на объект...

Указатель или ссылка на указатель. В чем разница?
Есть вопрос про указатели и ссылки на указатели :scratch: Хочу в функциях f1() и в f2()...

2
3251 / 2053 / 351
Регистрация: 24.11.2012
Сообщений: 4,906
14.06.2014, 10:07 2
Цитата Сообщение от Winorun Посмотреть сообщение
Это глобальная проверка значений.
Где именно?
0
39 / 39 / 8
Регистрация: 03.05.2013
Сообщений: 178
14.06.2014, 10:37  [ТС] 3
void update(){
//Тут обработка при получении сигнала, то есть проверяем какие значения были изменины и изменяем соответсвующие значения в других классах
}

Она одна на весь класс то есть если изменилосось значение "key1" (Не забываем что вместо d - map) то и ишем мы его изменение в одной функции готорая должна видеть все что мы вызываем

Добавлено через 49 секунд
Впрочем мне уже подсказали использовать вместо одного указателя масив
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.06.2014, 10:37
Помогаю со студенческими работами здесь

Константный указатель или указатель на константу?
Привет всем.Уважаемые программисты пожалуйста скажите чем отличать когда написано например int...

указатель на указатель или присваивание объекта
Доброе утро. Вот я в своем классе создал параметр class TTo4ka { ... TGrup **MyGrup; ... };

Множества (или аналоги)
Дана непустая последовательность слов из строчных русских букв; между соседними словами - запятая,...

аналоги delay или pause в VB
ктонить 3нает , есть ли на ВБ аналоги delay или pause - нужно бновление свойства нек. объектов...

Progressbar или его аналоги
Доброго времени суток ув.Форумчане! Имееться код который загружает файлы на FTP, обычный ftp_put. ...

Arduino оригинальный или аналоги
Мне нужен проект с элементами умного дома. Кто знает подскажите, Arduino нужен оригинальный или...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru