![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Sheff |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 503 Регистрация: 25.3.2002 Где: Зеленоград Репутация: 3 Всего: 3 |
Есть код:
Там где //Error там ошибка, т.е b.A1::f обращается к A1::f которая чисто виртуальная и тела для неё не существует, поэтому и линкер ругается, а вот первый вызов проходит успешно, как бы сделать так чтобы вызвать B::A1::f() не используя приведения к указателю на A1 ? -------------------- -------------------------- Шеф всегда прав :) |
|||
|
||||
| threef |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 27.10.2005 Где: Запорожье Репутация: 9 Всего: 10 |
Никак.На этом основан полиморфизм - определись, в качестве обьекта какого класса тебе нужен твой "b" и вызывай. Относительно конкретного примера - твои методы в предке чисто виртуальные, можешь определить только один метод
|
|||
|
||||
| Sheff |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 503 Регистрация: 25.3.2002 Где: Зеленоград Репутация: 3 Всего: 3 |
threef, понял, спасибо
-------------------- -------------------------- Шеф всегда прав :) |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |