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

Как реализовать вызов "переменной" функции? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ #error http://www.cyberforum.ru/cpp-beginners/thread928854.html
Добрый вечер! При сравнении объектов разных типов, должна вылетать ошибка компиляции. А ошибка получается здесь: #define RIGHT bool approx :: operator> (const approx& obj) const //перегруженный оператор сравнения объектов > { if ( (this -> type != true) || (obj.type != true) ) #undef RIGHT
C++ Не знаю как назвать Подскажите пожалуйста, где здесь ошибка? Пытался скомпилировать в Microsoft Visual C++ (2010) Нажал на кнопку Run, а там ошибка, ну вообщем на скринах всё видно, там уйма ошибок... Но не знаю каких... /* Программа №1 - Первая C++-программа. Введите эту программу, затем скомпилируйте её и выполните. */ http://www.cyberforum.ru/cpp-beginners/thread928850.html
Быки и коровы C++
1. В чём разница между структурой и классом, зачем использовать структуру? 2. Зачем нужны структуры pair и four? 3. Что такое inline и зачем их использовать? 4. Что значит строчка game(): m_attempts( 0 ) ? помогите ответить на вопросы пожжжж быстреее!!! #include <iostream> #include <cstdlib> #include <cmath>
Игнорируется RegisterHotKey() C++
Не понять почему, но все же факт. ЗЫ:Компилятор ошибок не выдает! bool noclip(HWND hwnd) { if(RegisterHotKey(NULL, 1, MOD_SHIFT, 0x01)) { MemoryManager* MM = new MemoryManager("sniperelite.exe"); DWORD PosX = MM->FindAdressByOffset(0x400000 + 0x003023F8, 0x48, 0x308, 0x10, false);
C++ Освобождение памяти из под Объектов в статическом массиве указателей http://www.cyberforum.ru/cpp-beginners/thread928804.html
Всем добрый вечер! Решил расширить программу из книжки Лафорте Р. ООП в С++ стр. 574 путем добавления функции удаления данных о конкретном работнике.. #include <fstream> // для потоковых файловых функций #include <iostream> #include <typeinfo> // для typeid() using namespace std; #include <process.h> // для exit() const int LEN = 32; // Максимальная длина фамилий const int MAXEM = 100;...
C++ Ошибка в получение значения (LIFO) bool CStack::GetVal( int &val) { if(pFirst==NULL) return 0; else { val=pFirst->val; } Elem *pCur=pFirst; pFirst=pFirst->pNext; подробнее

Показать сообщение отдельно
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11841 / 6820 / 771
Регистрация: 27.09.2012
Сообщений: 16,911
Записей в блоге: 2
Завершенные тесты: 1
26.07.2013, 00:29     Как реализовать вызов "переменной" функции?
C++
1
2
3
4
5
6
7
    if (functionName=="f1" ){
        f1();
    } else if (functionName=="f2" ){
        f2();
    } else if (functionName=="f3" ){
        f3();
    }
А если будет добавлено еще 100500 функций?
представляете что это будет за свалка условий?
Мой код при этом не пострадает
C++
1
2
3
4
5
6
    std::map < std::string , PVOIDFOO > :: iterator findIterator = functionCollection.find ( functionName ) ;
    if ( findIterator != functionCollection.end ( ) ){
        findIterator->second ( ) ;
    } else {
        std::cout << "Function \"" << functionName << "\" not found" <<std::endl;
    }
 
Текущее время: 08:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru