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

Реализация меню. Массив элементов меню - C++

Восстановить пароль Регистрация
 
AWRage
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 10
10.07.2016, 01:12     Реализация меню. Массив элементов меню #1
Приветствую. Решил хранить элементы меню в массиве. Вот только элементы - это разные структуры. То есть, CheckBox, InputBox, Submenu - все они имеют разные размеры. Как это реализовать я не знаю. Можно вместо самих структур сделать массив указателей на эти стуктуры, но тогда будет проблема с обращением к членам этих элементов. Вообщем, помогайте, я не знаю что делать. Хотелось бы сделать все красиво и аккуратно, без костылей и прочего.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2016, 01:12     Реализация меню. Массив элементов меню
Посмотрите здесь:

c++ меню C++
массив с меню C++
Реализация каждого отдельного пункта меню с условием C++
Реализация многоуровневого меню C++
C++ Реализация меню
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HenryDukart
 Аватар для HenryDukart
100 / 100 / 28
Регистрация: 05.10.2013
Сообщений: 400
Завершенные тесты: 2
10.07.2016, 01:27     Реализация меню. Массив элементов меню #2
AWRage, при хранении указателей на структуру проблемы не возникнут, если при вызове метода будете делать приведение типа (конечно, если знаете, что в определенной ячейке находится указатель на конкретную структуру).
AWRage
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 10
10.07.2016, 21:35  [ТС]     Реализация меню. Массив элементов меню #3
А как к ним обращаться?
Если массив будет таков void* Array[]?
HenryDukart
 Аватар для HenryDukart
100 / 100 / 28
Регистрация: 05.10.2013
Сообщений: 400
Завершенные тесты: 2
10.07.2016, 22:19     Реализация меню. Массив элементов меню #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
AWRage,

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    void* arr[2];
    int val = 12;
    string str = "twelve";
    arr[0] = &val;
    arr[1] = &str;
    cout << *static_cast<int*>(arr[0]) << endl
        << *static_cast<string*>(arr[1]) << endl;
}
Но лучше, если у ваших GUI элементов есть общий предок.
AWRage
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 10
11.07.2016, 14:35  [ТС]     Реализация меню. Массив элементов меню #5
Спасибо!
Yandex
Объявления
11.07.2016, 14:35     Реализация меню. Массив элементов меню
Ответ Создать тему
Опции темы

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