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

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

Войти
Регистрация
Восстановить пароль
 
 
Van111
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
#1

мультиоператор - вохможно ли? - C++

12.01.2013, 16:01. Просмотров 979. Ответов 32
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
struct SAI_BuMa
{
    int number_BuMa;
    int counter_BuMa;
};
struct SAI_ReBuMa
{
    int level_ReBuMa;
    int counter_ReBuMa;
};
struct pointer_command
{
protected:
    void * x;
public:
    inline void operator = (void * y ) {x = y;}
    operator void* () const { return x; }
    template <class Type> 
    void operator= (Type a) const {  x = new char[sizeof(a)] memcpy(x, *a, [sizeof(a)]); }
    SAI_BuMa * operator-> ();// const {return  (SAI_BuMa*)x;}
    SAI_ReBuMa * operator-> ();// const {return  (SAI_ReBuMa*)x;} // тут выскакивает ошибка о переопределении 
 
};
C++
1
pointer_command x;
у меня задача - сделать так чтоб при написании x-> можно было обратится и к данным структуры SAI_BuMa и к данным структуры SAI_ReBuMa. как это сделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2013, 16:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос мультиоператор - вохможно ли? (C++):

Чем вохможно запустить через c++ qt прогу сторонний exe - C++ Qt
Например exe от проги на c#

Чем вохможно запустить через c++ qt прогу сторонний exe - C++ Qt
Например exe от проги на c#

Чем вохможно запустить через c++ qt прогу сторонний exe - C++ Qt
Например exe от проги на c#

Чем вохможно запустить через c++ qt прогу сторонний exe - C++ Qt
Например exe от проги на c#

Чем вохможно запустить через c++ qt прогу сторонний exe - C++ Qt
Например exe от проги на c#

Чем вохможно запустить через c++ qt прогу сторонний exe - C++ Qt
Например exe от проги на c#

Чем вохможно запустить через c++ qt прогу сторонний exe - C++ Qt
Например exe от проги на c#

Чем вохможно запустить через c++ qt прогу сторонний exe - C++ Qt
Например exe от проги на c#

Чем вохможно запустить через c++ qt прогу сторонний exe - C++ Qt
Например exe от проги на c#

Чем вохможно запустить через c++ qt прогу сторонний exe - C++ Qt
Например exe от проги на c#

Чем вохможно запустить через c++ qt прогу сторонний exe - C++ Qt
Например exe от проги на c#

Чем вохможно запустить через c++ qt прогу сторонний exe - C++ Qt
Например exe от проги на c#

Чем вохможно запустить через c++ qt прогу сторонний exe - C++ Qt
Например exe от проги на c#

Чем вохможно запустить через c++ qt прогу сторонний exe - C++ Qt
Например exe от проги на c#

Чем вохможно запустить через c++ qt прогу сторонний exe - C++ Qt
Например exe от проги на c#

Чем вохможно запустить через c++ qt прогу сторонний exe - C++ Qt
Например exe от проги н

Чем вохможно запустить через c++ qt прогу сторонний exe - C++ Qt
Например exe от проги на c#


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

Или воспользуйтесь поиском по форуму:
32
Van111
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
12.01.2013, 17:35  [ТС] #16
Avazart, тогда подскажите что нужно для хранения минимального слоя моего ии (элементарные команды постройки).
как надо поменять эту структуру?
C++
1
2
3
4
5
struct SAI_commandS
{
    vector <void*> pointer;
    vector <ECommand> command;
};
Добавлено через 2 минуты
Цитата Сообщение от Avazart Посмотреть сообщение
Ну так вы до сих пор не сформулировали задачу, что надо ?
надо представить максимально оптимальную структура для элемента команды. в одну команду всегда входит номер команды , остальные же данные зависят от самой команды
0
Avazart
Эксперт С++
7213 / 5385 / 286
Регистрация: 10.12.2010
Сообщений: 23,792
Записей в блоге: 17
12.01.2013, 17:38 #17
Цитата Сообщение от Van111 Посмотреть сообщение
для хранения минимального слоя моего ии
А Я е**?

Добавлено через 1 минуту
Цитата Сообщение от Van111 Посмотреть сообщение
надо представить максимально оптимальную структура для элемента команды. в одну команду всегда входит номер команды , + разные данные
Задача до сих пор не сформулирована...
0
UserAK
73 / 73 / 4
Регистрация: 25.12.2012
Сообщений: 189
Записей в блоге: 2
12.01.2013, 17:52 #18
Цитата Сообщение от Van111 Посмотреть сообщение
надо представить максимально оптимальную структура для элемента команды. в одну команду всегда входит номер команды , остальные же данные зависят от самой команды
у Вас итак достаточно оптимально - указатель на что-то содержащее данные и информация для правильной интерпретации указателя. не пойму чего ещё тут можно придумать ))
0
Avazart
Эксперт С++
7213 / 5385 / 286
Регистрация: 10.12.2010
Сообщений: 23,792
Записей в блоге: 17
12.01.2013, 17:54 #19
Цитата Сообщение от UserAK Посмотреть сообщение
указатель на что-то содержащее данные и информация для правильной интерпретации указателя.
Вот именно что-то ... а что-то это всегда требует знание того к чему его кастовать...
0
Van111
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
12.01.2013, 17:56  [ТС] #20
C++
1
2
3
4
5
6
7
8
9
10
struct SAI_commands
{
    union 
    {
        SAI_BuMa *AI_BuMa;
        SAI_ReBuMa *AI_ReBuMa;
        //...
};
    int typ;
};
вот так всё решилось
0
UserAK
73 / 73 / 4
Регистрация: 25.12.2012
Сообщений: 189
Записей в блоге: 2
12.01.2013, 17:56 #21
Цитата Сообщение от Avazart Посмотреть сообщение
Вот именно что-то ... а что-то это всегда требует знание того к чему его кастовать...
так ведь есть же
Цитата Сообщение от Avazart Посмотреть сообщение
информация для правильной интерпретации указателя.
0
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
12.01.2013, 17:59 #22
UserAK, это сишный подход.
На плюсах так писать не то что технически неправильно (безусловно, это скомпилируется и будет работать), скорее идеологически неверно. Если пишешь на плюсах - следуй принципам ООП. Без фанатизма, но следуй.


Van111, повторю свой вопрос про вариативность данных. И добавлю новый - как планируется получать к ним доступ?
0
UserAK
73 / 73 / 4
Регистрация: 25.12.2012
Сообщений: 189
Записей в блоге: 2
12.01.2013, 18:02 #23
кстати в winAPI повсюду подобная унификация
0
Avazart
Эксперт С++
7213 / 5385 / 286
Регистрация: 10.12.2010
Сообщений: 23,792
Записей в блоге: 17
12.01.2013, 18:03 #24
Цитата Сообщение от UserAK Посмотреть сообщение
кстати в winAPI повсюду подобная унификация
winAPI это Си стаЙл, ибо там про классы не намека
0
UserAK
73 / 73 / 4
Регистрация: 25.12.2012
Сообщений: 189
Записей в блоге: 2
12.01.2013, 18:15 #25
Цитата Сообщение от I.M. Посмотреть сообщение
Без фанатизма, но следуй.
согласен ))

Добавлено через 11 минут
Цитата Сообщение от Avazart Посмотреть сообщение
winAPI это Си стаЙл, ибо там про классы не намека
ну я к тому, что если завернуть в красивую обёртку... может никто и не заметит
0
Avazart
Эксперт С++
7213 / 5385 / 286
Регистрация: 10.12.2010
Сообщений: 23,792
Записей в блоге: 17
12.01.2013, 18:16 #26
Цитата Сообщение от UserAK Посмотреть сообщение
ну я к тому, что если завернуть в красивую обёртку... может никто и не заметит
А вообще будет ли кто смотреть такой код ?
0
UserAK
73 / 73 / 4
Регистрация: 25.12.2012
Сообщений: 189
Записей в блоге: 2
12.01.2013, 18:21 #27
насколько я понял это просто для того, чтобы автокмплит чего-нибудь подсказывал.
только вот зачем? всеравно ведь нет чёткой связи
0
Avazart
Эксперт С++
7213 / 5385 / 286
Регистрация: 10.12.2010
Сообщений: 23,792
Записей в блоге: 17
12.01.2013, 18:25 #28
Цитата Сообщение от Van111 Посмотреть сообщение
собсвенно command - сама команда, pointer - указатель на данные этой команды.
А команда тут что ? ф-ция или еще одна структура ?

Почему данные и способ работы с ними отдельно ?
0
Van111
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
12.01.2013, 19:59  [ТС] #29
C++
1
2
3
4
5
6
    vector <union
    {
        SAI_BuMa *AI_BuMa;
        SAI_ReBuMa *AI_ReBuMa;
        //...
    };> x;
как нибудь можно сделать чтоб это прошло, а не пришлось использовать ещё одну структуру в которой будет данное объединение, чтобы получить доступ к объеденению, сразу после x[0]. а не через x.command[].
0
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1305 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
12.01.2013, 20:24 #30
Та нафиг...
C++
1
2
3
struct SAI_Big : public SAI_BuMa, SAI_ReBuMa
{
};
И используй SAI_Big с полями обоих классов.)
0
Yandex
Объявления
12.01.2013, 20:24
Ответ Создать тему
Опции темы

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