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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
orange_fox
 Аватар для orange_fox
34 / 34 / 6
Регистрация: 06.04.2014
Сообщений: 189
#1

Хранение и вызов различных типов функций в одной переменной - C++

09.08.2014, 14:16. Просмотров 327. Ответов 3
Метки нет (Все метки)

Есть класс, который должен хранить функции и давать возможность их вызывать.
Он выглядит примерно так:
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
class Functions
{
public:
    enum paramType{INT, DOUBLE, NOTYPE};
    int intVar;
    double doubleVar;
    template <class Functor>
    void setFunction(Functor F, paramType pType)
    {
        function = F; // ???
        type = pType;
    }
    void execute()
    {
        switch (type)
        {
        case INT:
            function(intVar);
            break;
        case DOUBLE:
            function(doubleVar);
            break;
        case NOTYPE:
            function();
        }
    }
private:
    funcVar function; // ???
    paramType type;
}
Вопрос: как правильно сохранять функции с неопределённым типом и как потом их правильно вызывать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2014, 14:16     Хранение и вызов различных типов функций в одной переменной
Посмотрите здесь:

C++ Ввод данных различных типов.
C++ шаблон для различных типов одномерных массивов
Ввод значений переменных различных типов C++
Объявление переменных различных типов C++
Инстанцирование шаблона для различных типов C++
Хранение прототипов методов класса и их непосредственной реализации в различных файлах C++
Хранение экземпляров классов-наследников, и вызов их методов C++
Хранение разных типов C++
C++ Вызов функций внутри других функций
Массив из массивов различных типов (malloc) C++
Возвращение различных типов данных C++
C++ Вызов различных пользовательских функций с помощью switch

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
09.08.2014, 15:01     Хранение и вызов различных типов функций в одной переменной #2
Чтобы предлагать какое-то решение хотелось бы ознакомиться с первоначальной задачей. Т.е. откуда вообще возникло желание в одну и ту же переменную писать разные типы.
CyberSolver
 Аватар для CyberSolver
101 / 74 / 17
Регистрация: 23.07.2014
Сообщений: 686
Записей в блоге: 1
09.08.2014, 15:17     Хранение и вызов различных типов функций в одной переменной #3
orange_fox, какие есть ограничения на функции? Ну и хранить где?
DrOffset
6817 / 4028 / 924
Регистрация: 30.01.2014
Сообщений: 6,847
09.08.2014, 15:36     Хранение и вызов различных типов функций в одной переменной #4
orange_fox, я конечно могу ошибаться, но мне кажется, что ты реализуешь std::function. Если я прав, то можно начать отсюда.
Yandex
Объявления
09.08.2014, 15:36     Хранение и вызов различных типов функций в одной переменной
Ответ Создать тему
Опции темы

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