Здравствуйте, Caracrist, Вы писали:
C>Здравствуйте, tripol, Вы писали:
T>>Имеется следующий код. Как вызвать виртуальный метод базового класса (A::Destroy) для объекта класса B?
C>
C> b.A::Destroy();
C>
Опередил, шайтан!
Люди! Люди, смотрите, я сошел с ума! Люди! Возлюбите друг друга! (вы чувствуете, какой бред?)
Здравствуйте, tripol, Вы писали:
C>>Это неправильный вопрос. Надо говорить не «как», а «зачем».
T>Просто для того что бы знать как, ИМХО.
Единственный обоснованный вариант, зачем вызывать функцию предка на объект потомка — это из перекрывающей функции потомка. А там это делается простым и всем известным синтаксисом Base::method().
Случаи, когда приходится вызывать родительский метод в обход перекрытого, свидетельствуют об ошибке дизайна — нарушении Liskov Substitution Principle.
Re[4]: Как вызвать виртуальный метод базового класса
Здравствуйте, Guard_h4s, Вы писали:
G_>Здравствуйте, vic.tep, Вы писали:
G_>Интересно... G_>Ни разу при реализации оных не требовалось вызывать перекрытый метод базового класса.