| Помогите пожалуйста написать программу с "Наследованием". | 
|  | 
| 
| 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 |  |  |  |  |