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

Создание меню с использованием указателей на метод класса - C++

Восстановить пароль Регистрация
 
studyC
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 5
22.04.2012, 21:53     Создание меню с использованием указателей на метод класса #1
Добрый вечер. Помогите пожалуста разобраться с указателями на метод класса и вызов методов класса через указатель, как в данном коде вызвать метод? запускаю и он не работает. Заранее спасибо!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void file::menu ()
{
    file F;
    F.initialisation(F.FILE_S,1024,300);
    char *labels [] = {"1. New blocks.", "2. Free blocks.", "3. Write.", "4. Read.", "5. Start transaction.", "6. Commit.", "7. Rollback.", "8. Information.", "9. Exit"};
    typedef void (file::*f_ptr)();
    int len = sizeof(labels)/sizeof(labels[0]), position;
    f_ptr interface [] = {&file::new_blocks_menu,&file::free_blocks_menu,&file::write_menu,&file::read_menu,&file::start_transaction_menu,&file::commit_menu,&file::rollback_menu,&file::get_infomation,&file::exit_menu};
 
    while (1)
    {
        for (int i = 0; i < len; i++)
            cout<<labels[i]<<endl;
        cout<<"Enter number of action - ";
        cin>>position;
        if (position < 1 || position > len)
        {
            cout<<"Wrong value."<<endl;
        }
        else
            F.*(interface[position-1])();
    }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2012, 21:53     Создание меню с использованием указателей на метод класса
Посмотрите здесь:

C++ Переделать с использованием указателей
Решения на С с использованием указателей C++
C++ создание класса с использованием библиотеки String
Целью работы является создание программы для обработки набора объектов с использованием класса -контейнера C++
C++ Создать массив указателей базового класса и присвоить ему адреса каждого из екземпляров класса
Создание одного массива из другого с использованием указателей C++
C++ Как передать в метод класса Menu указатель на метод дочернего класса?
Программа с использованием указателей C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
23.04.2012, 01:09     Создание меню с использованием указателей на метод класса #2
Вот в студии работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
class Class
{
public:
  void f1() { std::cout << "f1" << std::endl; }
  void f2() { std::cout << "f2" << std::endl; }
};
 
int main()
{
  typedef void (Class::*MethodPtr)();
  MethodPtr methods[] = {&Class::f1, &Class::f2};
 
  Class c;
  (c.*methods[0])();
  (c.*methods[1])();
 
  return 0;
}
Yandex
Объявления
23.04.2012, 01:09     Создание меню с использованием указателей на метод класса
Ответ Создать тему
Опции темы

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