|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.01.2011, 18:02 | #1 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
Объектно-ориентируемый стиль
Помогите написать функцию ArrayA::AddItem().
Код:
|
20.01.2011, 18:17 | #2 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Объектно-ориентируемый стиль это сильно :D.
Лично я вообще не понял, что ты хочешь добиться в этом коде.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
20.01.2011, 18:29 | #3 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
Из функции main вызываем AddItem() класса BaseArray. Так-как функция virtual вызывается AddItem() класса ArrayA. Вот в этот класс-массив необходимо добавить объект ItemA, но использовав тот факт что ItemA наследован от BaseItem.
|
20.01.2011, 18:33 | #4 |
Delphi Warrior
Старожил
Регистрация: 15.08.2008
Сообщений: 2,502
|
Курите Джеффа Элджера! Там всё написано!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++ ya.flex-freelance@yandex.ru Icq - 636-954-303 |
20.01.2011, 18:40 | #5 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
|
20.01.2011, 18:50 | #6 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
2KemanSR
сначала объясни, что тебе надо. 1. хочешь хранить полиморфные объекты в контейнере? 2. зачем класс контейнера делать полиморфным? 3. от стандартных контейнеров ничего не наследуют, их считают final классами. используй агрегацию. + если хочешь хранить в контейнере полиморфные объекты, то тип хранимого объекта должен быть T *
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
20.01.2011, 18:50 | #7 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
ну вот тебе пример из полиморфных контейнеров, в которых лежат полиморфные объекты.
полиморфные контейнеры сами лежат в контейнере для удобной обработки Код:
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance Последний раз редактировалось pproger; 20.01.2011 в 19:24. |
20.01.2011, 19:55 | #8 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
А как сделать чтобы в ConcreteContainer добавлялся только объект ConcreteItem и AddItem() была-бы без аргументов. И ещё из "ямы своей непросвящённости" не вижу большой разницы унаследовать BaseConteiner от vector или создать в BaseConteiner объект того-же vector.
Последний раз редактировалось KemanSR; 20.01.2011 в 20:34. |
20.01.2011, 22:09 | #9 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 129
|
Прошу помощи, может я не правильно формулирую вопрос?
|
20.01.2011, 22:14 | #10 | |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
Цитата:
если тебе не нужны полиморфные контейнеры, значит тебе не надо их наследовать насчет наследование вектора. если ты не предполагаешь полиморфно использовать наследуемый класс (замещение вирт функций, к примеру), то открытое наследование ни к чему. можно использовать закрытое наследование, но я выбрал агрегацию, ибо тут она более уместна
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Объектно-ориентированное программирование | Solnze2 | Помощь студентам | 4 | 14.06.2010 15:32 |
Объектно-ориентированное программирование | Solnze2 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 14.06.2010 10:14 |
Объектно-ориентированное программирование | dzhI | Помощь студентам | 8 | 19.03.2009 13:38 |