1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
| Account |
4.07.2011 18:10
Сообщение
#1
|
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 212 Пол: Мужской Репутация: 0 |
Есть вот такая программа.
По меню по очереди можно вывести бабочку, потом шестиугольник правильный, потом комбинированно бабочку в шестиугольнике. Бабочки и шестиугольник наследники от общего класса фигуры, а вот комбо от бабочки и шестиугольника. Не пойму вот следующее по идее класс Combo должен ведь унаследовать методы Move и SetNewColor, так как он наследник от Butterfly и Hex, которые в свою очередь наследуют данный метод от Figure. Но если выкинуть эти методы как сделано в выше представленном коде и напрямую обращаться например F3.SetNewColor(color);F3.Move(10*direction,10*direction); естественно компилятор материться. Так как правильно оформить наследственность и добраться до данных методов, не прописывая их в классе Combo и естественно не описывая так void Combo::Move(int x) P.S. Как в спойлер код скрывать, а то как то не красиво длинный пост получается? |
![]() ![]() |
| IUnknown |
4.07.2011 20:03
Сообщение
#2
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Цитата т.е. на всякий случай лучше всегда делать виртуальное наследование? На всякий случай надо знать об этом подводном камешке. И поступать так, как тебе нужно для решения задачи. Иногда (правда редко) нужно, чтобы при множественном наследовании базовый класс инициализировался при инициализации каждого потомка, иногда (чаще всего) не нужно. Поэтому, если ты будешь знать эту особенность - сможешь делать так, как нужно в твоем случае... |
Account Классы, наследственность 4.07.2011 18:10
IUnknown А теперь еще раз: что выкинуть? Где компилятор мат... 4.07.2011 18:35
Account IUnknown, описание класса Combo
class Combo:publi... 4.07.2011 19:03
IUnknown Преподаватель в своем уме? При множественном насле... 4.07.2011 19:33
Account
Преподаватель в своем уме?
.....
Чувствуешь разни... 4.07.2011 19:42
sheka т.е. на всякий случай лучше всегда делать виртуаль... 4.07.2011 19:51
Account Кстати, столкнулся еще с проблемой такой, что оста... 4.07.2011 20:53
IUnknown Вот кстати, без виртуального наследования следы од... 4.07.2011 21:29
Account IUnknown, добавил виртуальное наследование к бабоч... 5.07.2011 16:33
IUnknown :) Я знал, что так и будет... Вас что, не учили в... 5.07.2011 17:00
Account Очередной раз спасибо за разъяснение. Учусь на зао... 5.07.2011 17:59![]() ![]() |
|
Текстовая версия | 8.12.2025 16:34 |