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

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

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

Показать сообщение отдельно
Issues
429 / 364 / 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 - то, что тебе нужно

 
Текущее время: 02:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru