Воскресенье, 22 Декабря 2024, 11:57

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Помогите пожалуйста написать программу с "Наследованием".
MatouДата: Среда, 23 Мая 2012, 21:17 | Сообщение # 21
Исходный коТ
Сейчас нет на сайте
Quote (-=WarChief=-)
Вот как-то так, без переопределения методов базового класса в наследуемых (но этого в условии и не требуется)

Я бы не стал так четко следовать заданию, в России мало преподов по информатике способных составить нормальное задание, обычно пишут одно, а требуют другое. Лучше бы прикрутить список. Более того есть совсем упоротые, которые после этого требуют еще и явного преобразования указателя на родительский класс в указатель на дочерний. Так что лучше все варианты исполнить.



mistikДата: Среда, 23 Мая 2012, 21:42 | Сообщение # 22
был не раз
Сейчас нет на сайте
Matou, правильно говорит xD
clidiДата: Среда, 23 Мая 2012, 21:51 | Сообщение # 23
почетный гость
Сейчас нет на сайте
-=WarChief=-, Помоему в списках могут храниться только одинаковые тип объектов. Хотя опать же возможмо ошибаюсь.
-=WarChief=-Дата: Среда, 23 Мая 2012, 21:59 | Сообщение # 24
почетный гость
Сейчас нет на сайте
Да да правильно говориш, добавить в список обекты мы сможем а вот доступ к новым полям не получим (ето через list[0].method() имею ввиду).

Сообщение отредактировал -=WarChief=- - Среда, 23 Мая 2012, 22:00
MatouДата: Среда, 23 Мая 2012, 22:04 | Сообщение # 25
Исходный коТ
Сейчас нет на сайте
Quote (-=WarChief=-)
Да да правильно говориш, добавить в список обекты мы сможем а вот доступ к новым полям не получим (ето через list[0].method() имею ввиду)

Кошмар какой, добавлять в список надо не объекты, а указатели на объекты.
list[n]->method();



-=WarChief=-Дата: Среда, 23 Мая 2012, 22:11 | Сообщение # 26
почетный гость
Сейчас нет на сайте
Ну или так.

Добавлено (23.05.2012, 22:11)
---------------------------------------------
Вобщем куда список прикручивать в проге неясно.

MatouДата: Среда, 23 Мая 2012, 23:08 | Сообщение # 27
Исходный коТ
Сейчас нет на сайте
Список прикручиваешь к массиву и прогоняешь на все базовые методы, потом берешь объекты производных классов и вызываешь их специфичные методы.


-=WarChief=-Дата: Четверг, 24 Мая 2012, 10:09 | Сообщение # 28
почетный гость
Сейчас нет на сайте
Насколько я понял тогда нужно создать производные обьекты отдельно, добавить указатели на них в массив, проверить, через list[n]->baseMethod(), а тогда обращатся непосредственно к производным обьектам для проверки? вроде как plane->newMethod() ? если все таки нужно обращатся к производнім обьектам напрямую, так для чего этот массив? легче же просто напрямую и другие методы класов вызвать.

Сообщение отредактировал -=WarChief=- - Четверг, 24 Мая 2012, 10:11
MatouДата: Четверг, 24 Мая 2012, 12:10 | Сообщение # 29
Исходный коТ
Сейчас нет на сайте
Quote (-=WarChief=-)
так для чего этот массив? легче же просто напрямую и другие методы класов вызвать.

Как бы полиморфизм продемонстрировать.



-=WarChief=-Дата: Четверг, 24 Мая 2012, 14:34 | Сообщение # 30
почетный гость
Сейчас нет на сайте
Оу, ясно ) лишь бы было, а зачем не имеет значения, крутая задача )
mistikДата: Четверг, 24 Мая 2012, 20:57 | Сообщение # 31
был не раз
Сейчас нет на сайте
Вообщем вот я сделал решение варианта на тему наследование из учебника " Т.А. Павловская С/C++ Программирование на языке высокого уровня " страница 252.
Вариант 3:

Создать абстрактный класс CVehicle. На его основе реализовать классы CPlane, CCar и CShip. Классы должны иметь возможность задавать и получать координаты, параметры средств передвижения (цена, скорость, год выпуска). Для самолета должна быть определенна высота, для самолета и каробля - колличество пассажиров. Для корабля - порт приписки.

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


Решил выжоложить здесь это для тех кто ищет ответ в интернете на этот вариант, надеюсь кому нибудь поможет. Компилировал в Microsoft Visual C++ 2010 Express.


Решение:

http://pastie.org/private/5zskehefrprhtv1fhu77iq


Сообщение отредактировал mistik - Четверг, 24 Мая 2012, 21:06
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг