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

Объединения объектов классов - C++

Восстановить пароль Регистрация
 
Arkaniy
 Аватар для Arkaniy
106 / 106 / 6
Регистрация: 29.08.2012
Сообщений: 452
05.12.2013, 02:01     Объединения объектов классов #1
Доброй ночи, форумчане.
Столкнулся с проблемой объединения объектов разных классов. Ранее с объединениями не сталкивался, но сейчас растолковал это как хранение только 1 переменной из нескольких типов, при присваивании значения другой переменной объединения, остальные значения просто затираются новым. Так ведь?
А как быть с объектами классов?
Вот часть кода
C++
1
2
3
4
5
6
7
8
9
10
11
struct MAIN
{
    int n;
    Unit*unit;
    union WO
    {
        Teleport t;
        Door d;
    };
    WorldsObject*worldsobject;  
};
Тут еще беспорядок, но суть такова: в структуре есть число, 2 указателя на разные классы и должен храниться объект одного из двух классов,записанных в объединении. Такая запись, по-видимому, не верна.
Прошу помощи у знающих.
Заранее спасибо за ответ.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
05.12.2013, 10:00     Объединения объектов классов #2
задачи не понял, мб более подробно опишешь суть
Arkaniy
 Аватар для Arkaniy
106 / 106 / 6
Регистрация: 29.08.2012
Сообщений: 452
07.12.2013, 23:44  [ТС]     Объединения объектов классов #3
Задача была в записи объектов классов в юнион и с этим уже разобрался.
Но теперь следующий вопрос. Я сделал такую запись
C++
1
2
3
4
5
6
7
8
9
struct MAIN
{
    int n;
    union
    {   
        Teleport *teleport;
        Door *door;
    };
};
Teleport,Door - это имена классов.
В структуре число и указатель на объект. Хранится может ведь только 1 указатель. Вопрос собственно в том как определить на какой именно объект указывает указатель?
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
07.12.2013, 23:48     Объединения объектов классов #4
что-то делаете, и при этом не понимаете, зачем вы так делаете.
в таких случаях в структуре или где-то еще должна хранится метка, по котором можно понять, что
за объект в объединении, т.е. како-нибудь int в структуре MAIN. Есть еще хитрые варианты, но
они еще более кривые. Скорее всего вы с самого начала выбрали неправильный способ решения
своей рутовой задачи.
Arkaniy
 Аватар для Arkaniy
106 / 106 / 6
Регистрация: 29.08.2012
Сообщений: 452
09.12.2013, 12:09  [ТС]     Объединения объектов классов #5
DU, Зачем я так делаю, я всё же понимаю. Вариант с меткой довольно тривиальный и я думал, что есть другие пути к определению действующей переменной. Если же метка - это единственный способ, то так и сделаю.
Yandex
Объявления
09.12.2013, 12:09     Объединения объектов классов
Ответ Создать тему
Опции темы

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