Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Сигнатура https://www.cyberforum.ru/ cpp-beginners/ thread114883.html
Мне нужно организовать поиск сигнатуры. Допустим есть сигнатура (ну например ca64a10a706173c4776f7d72e1d) Есть файл file.exe Нужно определить присудствует ли сигнатура в файле. Как это сделать, а то толком ниче не понял, помогите плз! Зарание спасибо!
C++ Найти подматрицу максимального размера
Увести матрицу, которая состоит из 0 и 1. Найти в ней квадратную подматрицу максимального размера, элементы которой имеют значение 1.
C++ Определить слово с максимальным количеством согласных https://www.cyberforum.ru/ cpp-beginners/ thread114871.html
В строке символов определить слово с максимальным количеством согласных и переставить его буквы в соответствии с алфавитом. Каждую букву на парной позиции слова напечатать большими буквами.
C++ Граф(массивы) Граф задано количеством вершин и дуг, что их соединяют. Для каждой дуги задана длина маршрута из одной вершины в другую. Найти кратчайший маршрут между вершинами в графе, заданными пользователем. https://www.cyberforum.ru/ cpp-beginners/ thread114870.html
C++ Определение единиц массы
Определяет единицы массы в кг, г, мг. Ниже приведены неметрические русские единицы массы: Берковец = 10 пудам = 163805 кг, пуд = 40 фунтам, фунт = 32 лотам = 96 золотникам, лот = 3 золотникам, золотник = 96 долей. Результат должен быть напечатан в 4 столбца. Буду крайне признателен кто поможет с решением, что то ничего по реализации в голову не приходит. Код нужен на языке "C"
C++ Ветвление: Хватит ли вам денег на покупку диска? https://www.cyberforum.ru/ cpp-beginners/ thread114851.html
Добрий день товарищи!!! Помогите сделать задачу. Музыкальный компакт-диск стоит х-руб. n-коп. У вас есть а-руб. b-коп. Хватит вам денег на покупку диска? В программе предусмотреть вывод слов "Да" или "Нет". В случае недостатка денег определить, сколько денег надо добавить.
C++ Как исправить ошибку с std::cin https://www.cyberforum.ru/ cpp-beginners/ thread114805.html
помогите у меня пропускает последующие вводы если вводишь знак или букву вот код std::cout<<"A: "; std::cin>>AA; std::cout<<"X^2: "; std::cin>>aAA; std::cout<<"B: "; std::cin>>BB; std::cout<<"X: "; std::cin>>aBB;
Сведения о каждом химическом элементе из периодической таблицы Д.И. Менделеева представить в виде структуры C++
Задание 1. Сведения о каждом химическом элементе из периодической таблицы Д.И. Менделеева представить в виде структуры. Haписать программу ввода таблицы в память компьютера.
C++ Описать структуру типа TRAIN https://www.cyberforum.ru/ cpp-beginners/ thread114779.html
Описать структуру типа TRAIN , содержащую поля: 1) название пункта назначения 2) номер поезда 3) время отправления Написать программу, выполняющую следующие действия: 1) ввод с клавиатуры данных в массив, состоящий из восьми элементов типа TRAIN; записи должны быть размещены в алфавитном порядке по названиям пункта назначения; 2) вывод на экран информации о поездах, отправляющихся после...
C++ Запись структуры в файл. https://www.cyberforum.ru/ cpp-beginners/ thread114775.html
3. Написать процедуры (или функции) записи в файл и считывания из файла массива структур. 4. Использовать файлы трех типов – текстовый (.TXT), типизированный (.REC) и бинарный (.BIN). 5. При сохранении данных в файл программа должна проверять, были ли какие-либо данные ранее введены или загружены из файла. Если нет, то позволить ввести их с клавиатуры. Если да – то спросить о предпочтительном...
C++ регистр сдвига????
На вход поступают числа: 10111 00101 11111 (к примеру) на регистр поступает старший разряд каждого миниблока(в каждом миниблоке 5 двоичных чисел) Регистр сдвига осуществляет задержку на 4 тактов, Т.е: на вход регистра поступает старший разряд миниблока 1 в самом регистре получаем 10000 затем поступает старший разряд 2-го миниблока (0): на выходе получаем: 01000 и так далее, а также...
C++ Рассматривая комплексное число как структуру, состоящую из двух вещественных полей, составить функции выполнения четырех арифметических операций https://www.cyberforum.ru/ cpp-beginners/ thread114765.html
Задание 3. Рассматривая комплексное число как структуру, состоящую из двух вещественных полей, составить функции выполнения четырех арифметических операций с комплексными числами. Как это делается????
vol4ok
0

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

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

Author24 — интернет-сервис помощи студентам
есть 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) { /* ??? в этом месте вообще непонятно что надо писать */ }
};


Вернуться к обсуждению:
межклассовые колбеки C++
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.04.2010, 02:18
Готовые ответы и решения:

Передача переменных в колбеки в цикле
for (var group in groupsDict) { past_time += Math.floor(Math.random() * (max...

Как организовать простенькие межклассовые связи в С#?
У меня есть простенькая игра на начальной стадии разработки -- тетрис. Уже есть функция, которая...

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