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

Обработка клавиш, используя указатели на функции - C++

Войти
Регистрация
Восстановить пароль
 
fishec
 Аватар для fishec
118 / 118 / 30
Регистрация: 07.09.2013
Сообщений: 338
21.04.2014, 18:19     Обработка клавиш, используя указатели на функции #1
Нужно сделать класс, чтобы можно было обрабатывать неопознанные клавиши. В методе edit(), в котором расположен цикл обработки клавиш, распознается 2 клавиши. Нужно сделать так, чтобы пользователь-программист мог написать свою функцию, и назначить ее на какую-либо клавишу. Пример конечно утрирован, но суть не в этом.
Вот класс:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Number{
    int a;
public:
    Number(int a) : a(a){} //конструктор
    int get(){ return a; } //получить число
    void set(int x){ a = x; } // установить число
    
    void edit(){ //обработка клавиш
        int c;
        do{
            c = _getch();
            switch (c){
                case 49: a *= 2; print(); break;// если была нажата клавиша 1, удваиваем число
                case 50: a = -a; print(); break;// если была нажата клавиша 2, меняем на противоположное
            }
        } while (c != 27);// пока не нажат escape
    }
    void print(){//вывод числа на экран
        cout << a << endl;
    }
};
Пользователь класса пишет программу:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "Number.h"
using namespace std;
void treble(Number p){//утроить число
    p.set(3 * p.get());
}
int main()
{
    Number t(5);
    // как сделать так, чтобы при нажатии клавиши 3 вызывалась функция treble???
// то есть куда-то нужно передать указатель на функцию.
    t.edit();
    cout << endl;
    system("pause");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2014, 18:19     Обработка клавиш, используя указатели на функции
Посмотрите здесь:

Составить программу обработки двухмерного массива используя указатели и функции... C++
C++ Указатели и обработка строк
Двумерный массив. Программу написать используя указатели и строковые функции. C++
C++ Обработка клавиш!
Обработка строк,используя указатели C++
Обработка строк и указатели C++
Обработка нажатия клавиш OPENGL C++
Написать код используя массивы, указатели, виртуальные функции, наследование, классы и т.д C++
Вычислить суммы с данной точностью е, используя указатели на функции, как параметры C++
C++ Написать программу "Военкомат" используя указатели, функции и динамическую память
C++ Обработка нажатия клавиш
Создать меню для работы с программой заполнения массива, используя функции, указатели на сылки C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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