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

межклассовые колбеки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сигнатура http://www.cyberforum.ru/cpp-beginners/thread114883.html
Мне нужно организовать поиск сигнатуры. Допустим есть сигнатура (ну например ca64a10a706173c4776f7d72e1d) Есть файл file.exe Нужно определить присудствует ли сигнатура в файле. Как это сделать, а то толком ниче не понял, помогите плз! Зарание спасибо!
C++ Найти подматрицу максимального размера Увести матрицу, которая состоит из 0 и 1. Найти в ней квадратную подматрицу максимального размера, элементы которой имеют значение 1. http://www.cyberforum.ru/cpp-beginners/thread114872.html
Определить слово с максимальным количеством согласных C++
В строке символов определить слово с максимальным количеством согласных и переставить его буквы в соответствии с алфавитом. Каждую букву на парной позиции слова напечатать большими буквами.
C++ Граф(массивы)
Граф задано количеством вершин и дуг, что их соединяют. Для каждой дуги задана длина маршрута из одной вершины в другую. Найти кратчайший маршрут между вершинами в графе, заданными пользователем.
C++ Определение единиц массы http://www.cyberforum.ru/cpp-beginners/thread114868.html
Определяет единицы массы в кг, г, мг. Ниже приведены неметрические русские единицы массы: Берковец = 10 пудам = 163805 кг, пуд = 40 фунтам, фунт = 32 лотам = 96 золотникам, лот = 3 золотникам, золотник = 96 долей. Результат должен быть напечатан в 4 столбца. Буду крайне признателен кто поможет с решением, что то ничего по реализации в голову не приходит. Код нужен на языке "C"
C++ Ветвление: Хватит ли вам денег на покупку диска? Добрий день товарищи!!! Помогите сделать задачу. Музыкальный компакт-диск стоит х-руб. n-коп. У вас есть а-руб. b-коп. Хватит вам денег на покупку диска? В программе предусмотреть вывод слов "Да" или "Нет". В случае недостатка денег определить, сколько денег надо добавить. подробнее

Показать сообщение отдельно
vol4ok
Сообщений: n/a

межклассовые колбеки - C++

10.04.2010, 02:18. Просмотров 673. Ответов 1
Метки (Все метки)

есть 2 класса А B, нужно сделать так чтобы класс В мог регистрировать свой метод у класса А в качестве колбека, а класс А соответственно вызывать этот метод по событию. При этом класс В может быть произвольный, его структура неизвестна для класса А. Как это грамотно сделать? помогите плз. Вариант с бустом не предлагать, он мне известен, но хотелось бы найти решение в рамках STL.

Возможно это можно как-то сделать с помощью std::function? но скомпилять мне пока не удалось, не понимаю как правильно регистрировать метод класса и потом его вызывать...



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
typedef std::function<void (int)> Callback;
 
//класс А
class EventHandler{
protected:
    Callback cb;
    int cx;
 
public:
    void reg_callback(int a, Callback b) { cb = b; cx = a; };
    void call_callback() { /* cb(cx)??? */ };
};
 
//класс B
class SomeClass{
public:
    void on_event(int k) {std::cout <<  k << std::endl;}
    void set_event(EventHandler* eh) { /* ??? в этом месте вообще непонятно что надо писать */ }
};
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 16:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru