![]() |
|
Модераторы: bsa |
![]()
|
|
| toxx |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
Написал базу данных одиночного фигурного катания, сделал производный класс парного.Хочу чтобы функция my_enter() работа нужным образом... для одиночного и парного.Вродебы всё описал по книге,а почемуто не работает.Мб у меня вообще тут полиморфизмом не пахнет?Подскажите пожалуйста.
Конкретно не понятно почему не работает это:
Код базы:
|
||||
|
|||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 5 Всего: 59 |
Во-первых.
Функции внутри объявления класса лучше размещать только короткие. Потому, как бедный компилер их сделает online, а у вас они на добрую пару десятков строк. Плюс - читать такой код просто невозможно. Во-вторых: Сравните объявление методов my_enter в базовом и производном. У вас они разные. В общем сначала приведите в порядок код - объявление отдельно, определения отдельно - лично я читать такое пас. |
|||
|
||||
| zim22 |
|
||||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
чтобы полиморфизм работал необходимы, чтобы сигнатуры у функций совпадали.
class chemp
chemp2
|
||||
|
|||||
| J0ker |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 986 Регистрация: 17.9.2008 Репутация: 9 Всего: 14 |
||||
|
||||
| toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
zim22
Блиин точно....ну и дурак я,думал что написал одинаковые сигнатуры.Спс что подкоректировали, ато я сктока сидел седня это делал что уже не замечаю что пишу.Кст поправил и всё заработало!!Спасибо!=) J0ker Ну просто сначала сделал для одиночного катания, потом решил сделать парное чтобы проверить полиморфизм и наследование. Можете еще предложить как оптимизировать код.То что нужно убрать из объявляния класса функции это я уже понял.А что еще можно сделать? |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 5 Всего: 59 |
||||
|
||||
| toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: 4 Всего: 13 |
Хорошо)Уже занялся этим...день прошел не зря так сказать...классы пощупал. Anikmar Вы это имели ввиду? Сделал
Это сообщение отредактировал(а) toxx - 16.4.2009, 20:53 |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |