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

Как реализовать два объекта под одним типом? - C++

Восстановить пароль Регистрация
 
eocron
Кактус
 Аватар для eocron
66 / 66 / 6
Регистрация: 23.05.2012
Сообщений: 343
07.04.2013, 19:57     Как реализовать два объекта под одним типом? #1
Проблема состоит в том, что я хочу чтобы можно было приводить тип ссылки родительского класса, к классу сыновей.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Memory_Object
{
};
 
class Directory:public Memory_Object 
{
};
 
class File:public Memory_Object
{
};
 
Directory *function()
{
      Memory_Object *res;
      res = new Directory();
      return res;
}
Грубо говоря все это мне нужно чтобы создать массив из "сборной солянки" Directory и File. То есть элементом этого массива может оказаться Directory или File, вперемешку. Как исправить ошибки? Или как создать такой нестандартный массив?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2013, 19:57     Как реализовать два объекта под одним типом?
Посмотрите здесь:

Как создать функцию, которая определит с каким типом данных ей работать и подстроиться под этот тип? C++
C++ Почему два раза создаётся объект с ОДНИМ И ТЕМ ЖЕ ИМЕНЕМ?
Выяснить можно ли с поля (k,l) одним ходом ферьзя попасть на поле(m,n). Если нет, то выяснить, как это можно сделать за два хода C++
Подскажите как вывести два массива рядом, а не под друг другом C++
Два и больше действия одновременно, как реализовать? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ITcrusader
Эксперт C++
 Аватар для ITcrusader
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
07.04.2013, 20:04     Как реализовать два объекта под одним типом? #2
Ну тебя устроит массив указателей на различные объекты?
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
07.04.2013, 20:05     Как реализовать два объекта под одним типом? #3
А что пишет? Кстати, ссылок здесь нет, только указатели.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
07.04.2013, 20:09     Как реализовать два объекта под одним типом? #4
boost::variant
ITcrusader
Эксперт C++
 Аватар для ITcrusader
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
07.04.2013, 20:10     Как реализовать два объекта под одним типом? #5
C++
1
2
3
4
vector<Memory_Object*> obj;
obj.push_back( new File() );
...
obj.push_back( new Directory() );
Yandex
Объявления
07.04.2013, 20:10     Как реализовать два объекта под одним типом?
Ответ Создать тему
Опции темы

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