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

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

Войти
Регистрация
Восстановить пароль
 
eocron
Кактус
66 / 66 / 6
Регистрация: 23.05.2012
Сообщений: 343
#1

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

07.04.2013, 19:57. Просмотров 215. Ответов 4
Метки нет (Все метки)

Проблема состоит в том, что я хочу чтобы можно было приводить тип ссылки родительского класса, к классу сыновей.

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, вперемешку. Как исправить ошибки? Или как создать такой нестандартный массив?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2013, 19:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как реализовать два объекта под одним типом? (C++):

Как создать функцию, которая определит с каким типом данных ей работать и подстроиться под этот тип? - C++
например если мне нужно создать шаблон функции сортировки одномерных массивов произвольного типа)))

Как поменять местами два объекта в std::list? - C++
Подскажите, пожалуйста, как с использованием списка обменять два объекта. Т.е. list<myclass> l; myclass obj1,obj2,obj3; ...

Как реализовать игру на два игрока - C++
Есть два обьекта. Как сделать так, чтобы каждым из них можно было отдельно управлять и стрелять? #include <hge.h> #include...

Два и больше действия одновременно, как реализовать? - C++
Помогите разобраться, можно ли в консоле сделать так, что-бы одновременно выполнялось два и больше действий? Например управляя танком...

В чем разница между типом функции и типом возвращаемого значения? - C++
Читаю статью https:// code-live. ru/post/cpp-functions/ (ссылку изменил дабы не делать рекламу) Там написано - Любая функция...

Выяснить можно ли с поля (k,l) одним ходом ферьзя попасть на поле(m,n). Если нет, то выяснить, как это можно сделать за два хода - C++
Поле шахмотной доски определяеся парой натуральных чисел, каждая из которых не превосходит восьми: первое число номер вертикали (при счете...

4
ITcrusader
Эксперт С++
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
07.04.2013, 20:04 #2
Ну тебя устроит массив указателей на различные объекты?
0
taras atavin
3883 / 1757 / 92
Регистрация: 24.11.2009
Сообщений: 27,566
07.04.2013, 20:05 #3
А что пишет? Кстати, ссылок здесь нет, только указатели.
0
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
07.04.2013, 20:09 #4
boost::variant
1
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() );
0
07.04.2013, 20:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2013, 20:10
Привет! Вот еще темы с ответами:

Подскажите как вывести два массива рядом, а не под друг другом - C++
У меня есть две функции, которые выводят два массива. Подскажите как мне сделать так, чтоб они выводились рядом друг с другом, а не друг...

Почему два раза создаётся объект с ОДНИМ И ТЕМ ЖЕ ИМЕНЕМ? - C++
#include &lt;windows.h&gt; #include &lt;iostream&gt; using namespace std; class arr{ public: arr(){ cout &lt;&lt; &quot;Вызов конструктора по...

Работа нескольких сторонних библиотек под одним интерфейсом - C++
Здравствуйте! Хочу реализовать библиотеку, которая будет предоставлять интерфейс к некоему абстрактному действию (e. g. расшифровка,...

Найти максимальную длину слова в заданной строке (как реализовать функцию, возвращающую два значения?) - C++
Задание в прикрепленном изображении. Весь форум облазил, все говорят про структуры, можно ли без них обойтись? Мне бы вернуть указатель и...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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