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

Группировка функций разных классов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывод строк с двузначными числами, оформление в виде функции http://www.cyberforum.ru/cpp-beginners/thread451519.html
Написать программу, считывающую текст из файла и выводящую на экран строки, содержащие только двузначные числа. Оформить в виде функций законченные последовательности действий. Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается. буду благодарна)
C++ Попадает ли точка с заданными координатами в указанную область Нужно создать программу, которая проверяет принадлежность точки заштрихованной области. Помогите пожалуйста!!! http://www.cyberforum.ru/cpp-beginners/thread451511.html
C++ Поместить двоичный код, в веденной строке, в переменную типа int и unsigned int.
Пользователь вводит двоичную строку (32 символа). Поместить двоичный код, в веденной строке, в переменную типа int и unsigned int.
C++ ошибка в коде с структурой
Написать программу, выполняющую следующие действия: • ввод с клавиатуры данных в массив, состоящий из семи элементов типа AEROFLOT; записи должны быть размещены в алфавитном порядке по названиям пунктов назначения; • вывод на экран пунктов назначения и номеров рейсов, обслуживаемых самолетом, тип которого введен с клавиатуры; • если таких рейсов нет, выдать па дисплей соответствующее...
C++ Работа с getline http://www.cyberforum.ru/cpp-beginners/thread451475.html
#include "stdafx.h" #include <iostream> #include <string> using namespace std; int main() { string str, name, breed, age; //Получаем от пользователя 3 строки cout<<"Enter name and press ENTER: ";
C++ Вставить символ в файл Мне нужно вставить некий символ в уже существующий файл, на определенное место. Пытался: ofstream ofile; string filename; ofile.open(filename.c_str(), ios::app); ofile.seekp(5); подробнее

Показать сообщение отдельно
villu
202 / 202 / 4
Регистрация: 06.08.2011
Сообщений: 600
Записей в блоге: 1
23.02.2012, 23:47     Группировка функций разных классов
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
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <vector>
#include <boost/bind.hpp>
#include <boost/function.hpp>
 
using namespace std;
 
class T1 {
public:
    void draw() {
        std::cout << "This is t1!\n";
    }
};
 
class T2 {
public:
    void another_draw() {
        std::cout << "This is t2!\n";
    }
};
 
int main()
{
 
    T1 t1;
    T2 t2;
 
    typedef boost::function<void (void)> function_type;
    std::vector<function_type> funcs;
 
    funcs.push_back(boost::bind(&T1::draw, &t1));
    funcs.push_back(boost::bind(&T2::another_draw, &t2));
 
    funcs[0]();
    funcs[1]();
 
    return 0;
}
This is t1!
This is t2!
Добавлено через 2 часа 34 минуты
кстати, почему-то сразу не подумал, но тебе, скорее всего, нужно что-то типа сигналов.
немного переделанный исходник.
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
#include <vector>
#include <boost/signal.hpp>
#include <boost/bind.hpp>
 
 
class T1 {
public:
    void draw() {
        std::cout << "This is t1!\n";
    }
};
 
class T2 {
public:
    void another_draw(bool fast) const {
        std::cout << "This is t2! " << (fast ? "fast" : "slooow") <<  "\n";
    }
};
 
void free_draw_func () {
    std::cout << "This is a free func \n";
}
 
int main()
{
 
    T1 t1;
    T2 t2;
 
    boost::signal<void (void)> funcs;
 
    funcs.connect(boost::bind(&T1::draw, &t1));
    funcs.connect(boost::bind(&T2::another_draw, &t2, true));
    funcs.connect(boost::bind(&T2::another_draw, &t2, false));
    funcs.connect(boost::bind(free_draw_func));
    funcs();
 
    return 0;
}
This is t1!
This is t2! fast
This is t2! slooow
This is a free func
 
Текущее время: 21:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru