Почему мой деструктор не может вызвать нечистую виртуальную функцию? [дублировать]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Почему мой деструктор не может вызвать нечистую виртуальную функцию? [дублировать]

Сообщение Anonymous »

(под «нечистой виртуальной функцией», я имею в виду чистые виртуальные функции, которые также имеют реализации (как описано по адресу http://www.gotw.ca/gotw/031.htm).)образное/> Подумайте о следующем коде:
#include

class AbstractBase
{
public:
virtual ~AbstractBase() {
f(); // 2A. Prints: AbstractBase::f
g(); // 2B. Prints: AbstractBase::g

AbstractBase* p = this;
p->f(); // 3A. Prints: AbstractBase::f
p->g(); // 3B. terminates (pure virtual call)
}

virtual void f();
virtual void g() = 0;
};

void
AbstractBase::f()
{
std::cout

Подробнее здесь: https://stackoverflow.com/questions/796 ... l-function
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как я могу отличить чистую и нечистую поверхность металла детали с помощью EmguCV?
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как вызвать деструктор одноэлементных классов без CRT
    Anonymous » » в форуме C++
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Как вызвать деструктор после ответа в php?
    Anonymous » » в форуме Php
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Как вызвать оператор = или деструктор суперкласса?
    Anonymous » » в форуме C++
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous
  • Как вызвать деструктор после ответа в php?
    Anonymous » » в форуме Php
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»