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

Как передать функции через метод класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ что за тема такая to-do list? http://www.cyberforum.ru/cpp-beginners/thread935955.html
объясните плиз что это такое(ну смысл типо список дел?), точнее как этим грамотно пользоваться?
C++ Упражнение из книги Страуструпа для начинающих. Точность вычислений Добрый вечер. В конце одной из глав идёт след. упражнение: Модифицируйте класс Fct так, чтобы в нём был дополнительный аргумент, позволяющий контролировать точность. Сделайте тип этого аргумента... http://www.cyberforum.ru/cpp-beginners/thread935953.html
Класс и пространство имен C++
Есть стэк, а он использует структуру как базовую единицу. Куда определить описание этой структуры - в пространство имен, а его включить в class?struct customer { enum e1{str_size = 35}; char...
Как создать старт приложения на определенной кнопки клавиатуры C++
Вот например есть таймер как сделать так чтобы таймер запустился\остановился(остановился и збросился) при нажатии какой-то конкретной кнопки например при нажатии пробел
C++ template (найти ошибку в коде) http://www.cyberforum.ru/cpp-beginners/thread935935.html
Добрый день! Подскажите, где ошибка? никак не пойму...как нешаблонная ф-я она работает...где-то у меня в оформлении ошибка template <typename T> void reverse_container(vector<T>::iterator...
C++ Отсортировать саб лист используя лямбда фунций Данн лист из объектов класса и нужно отсортировать часть этого листа. Что то типа: class someClass; std::list<someClass> classList; //находим начало саб листа подробнее

Показать сообщение отдельно
Issues
430 / 365 / 37
Регистрация: 06.08.2012
Сообщений: 961
10.08.2013, 14:18
как то так:
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
#include <iostream>
 
typedef void (*pFunction)();
 
inline void Start()  { std::cout << "Start() \n";  }
inline void Option() { std::cout << "Option() \n"; }
inline void Exit()   { std::cout << "Exit() \n";   }
 
void SomeFunc(pFunction*);
 
int main(int)
{
    pFunction pFun [3] = { Start, Option, Exit };
 
    SomeFunc(pFun);
 
    return 0;
}
 
void SomeFunc(pFunction* pF)
{
    pF[0](); // Start()
    pF[1](); // Option()
    pF[2](); // Exit()
}
или так :
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
#include <iostream>
#include <map>
#include <string>
#include <array>
 
inline void Start()  { std::cout << "Start run.  \n"; }
inline void Option() { std::cout << "Option run. \n"; }
inline void Exit()   { std::cout << "Exit run.   \n"; }
 
void SomeFunc(const std::array<std::string, 0x3>&, std::map<std::string, void (*)()>&);
 
int main(int)
{
    std::array<std::string, 0x3> aTitle = { "Start", "Option", "Exit" };
    std::map<std::string, void (*)()> pFun;
    
    pFun.insert(std::make_pair(aTitle[0], Start));
    pFun.insert(std::make_pair(aTitle[1], Option));
    pFun.insert(std::make_pair(aTitle[2], Exit));
 
    SomeFunc(aTitle, pFun);
 
    system("PAUSE");
    return 0;
}
 
void SomeFunc(const std::array<std::string, 0x3>& title, std::map<std::string, void (*)()>& pFun)
{
    std::cout << title[0] << " - "; pFun[title[0]]();
    std::cout << title[1] << " - "; pFun[title[1]]();
    std::cout << title[2] << " - "; pFun[title[2]]();
}

Не по теме:

P.S. вместо SomeFunc - то, что тебе нужно

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