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

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

Войти
Регистрация
Восстановить пароль
 
Arkaniy
106 / 106 / 6
Регистрация: 29.08.2012
Сообщений: 453
#1

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

05.12.2013, 02:01. Просмотров 647. Ответов 4
Метки нет (Все метки)

Доброй ночи, форумчане.
Столкнулся с проблемой объединения объектов разных классов. Ранее с объединениями не сталкивался, но сейчас растолковал это как хранение только 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 указателя на разные классы и должен храниться объект одного из двух классов,записанных в объединении. Такая запись, по-видимому, не верна.
Прошу помощи у знающих.
Заранее спасибо за ответ.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2013, 02:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Объединения объектов классов (C++):

Разработать иерархию классов, демонстрирующее работу с коллекцией объектов разных классов - C++
Задание: Разработать в соответствии с индивидуальным заданием иерархию классов и приложение, демонстрирующее работу с коллекцией объектов...

Преобразования объектов классов в объекты других классов - C++
Задача типа обмен валют. Нужно конвертировать старый фунт стерлинг(фунт, шиллинг и пенсы) в доллары и обратно, по курсу 1 фунт = 50...

Генератор объектов классов - C++
Как написать такой генератор? Есть класс Base в котором есть ЧИСТАЯ виртуальная функция Show () и поле UINT num class Base { ...

Композиция классов и объектов - C++
Помогите, пожалуйста, разобраться с самим заданием. -В первой части предлагается использовать композицию по принципу «матрёшки», когда...

Создание классов и объектов - C++
Написать программу создания класса. File: Имя файла, Размер, Дата создания, Количество обращений. Определить возможно ли записать файл на...

Создание классов и объектов - C++
1. Объявить класс по приведенному ниже заданию в соответствии с номером варианта и определить для него конструктор по умолчанию,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,997
05.12.2013, 10:00 #2
задачи не понял, мб более подробно опишешь суть
Arkaniy
106 / 106 / 6
Регистрация: 29.08.2012
Сообщений: 453
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
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
07.12.2013, 23:48 #4
что-то делаете, и при этом не понимаете, зачем вы так делаете.
в таких случаях в структуре или где-то еще должна хранится метка, по котором можно понять, что
за объект в объединении, т.е. како-нибудь int в структуре MAIN. Есть еще хитрые варианты, но
они еще более кривые. Скорее всего вы с самого начала выбрали неправильный способ решения
своей рутовой задачи.
Arkaniy
106 / 106 / 6
Регистрация: 29.08.2012
Сообщений: 453
09.12.2013, 12:09  [ТС] #5
DU, Зачем я так делаю, я всё же понимаю. Вариант с меткой довольно тривиальный и я думал, что есть другие пути к определению действующей переменной. Если же метка - это единственный способ, то так и сделаю.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2013, 12:09
Привет! Вот еще темы с ответами:

Создание классов и объектов - C++
#include <iostream.h> #include <conio.h> #include <stdlib.h> #include <string.h> class gai { private: char marka; int nomer; ...

Комопзиция объектов/иерархия классов - C++
в общем нигде не могу найти внятного объяснения в виде кода, все очень поверхностно везде написано.Может кто знает место где есть хороший...

Композиция классов и объектов данных - C++
Номиналы украинских гривен могут иметь значение 1, 2, 5, 10, 20, 50, 100, 500, 1000, 5000. Копейки представить в виде 0.01 (1 копейка),...

Напишите отличия классов от объектов - C++
может кто простым языком рассказать про отличие между классами и объектами


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.12.2013, 12:09
Ответ Создать тему
Опции темы

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