В чем разница между виртуальной функцией и чистой виртуальной функцией в C ++?
В чем разница между виртуальной функцией и чистой виртуальной функцией в C ++?

Видео: В чем разница между виртуальной функцией и чистой виртуальной функцией в C ++?

Видео: В чем разница между виртуальной функцией и чистой виртуальной функцией в C ++?
Видео: Компиляция и интерпретация за 10 минут 2024, Ноябрь
Anonim

Главный разница между ' виртуальная функция 'и' чистая виртуальная функция ' в том, что ' виртуальная функция 'имеет свое определение в базовый класс, а также наследующие производные классы переопределяют его. В чистая виртуальная функция не имеет определения в базовый класс, и все наследующие производные классы должны его переопределить.

Таким образом, что такое чистая виртуальная функция C ++?

Чистые виртуальные функции и абстрактные классы в C ++ Мы не можем создавать объекты абстрактных классов. А чистая виртуальная функция (или аннотация функция ) в C ++ это виртуальная функция для которых у нас нет реализации, мы ее только декларируем. А чистая виртуальная функция объявляется присвоением 0 в объявлении.

Кроме того, что такое виртуальная функция и виртуальный класс? А виртуальная функция является членом функция в пределах базы класс что мы переопределяем в производном класс . Он объявляется с помощью виртуальный ключевое слово. Когда класс содержащий виртуальная функция наследуется, производное класс переопределяет виртуальная функция для удовлетворения собственных нужд.

В связи с этим, что такое виртуальная и чисто виртуальная функция, объясните на примере?

А чистая виртуальная функция это функция которые должны быть переопределены в производном классе и не должны быть определенный . А виртуальная функция объявлен как « чистый ”Используя любопытный синтаксис = 0. Для пример : class Base {

Какая польза от виртуальных функций?

Виртуальные функции убедиться, что правильный функция вызывается для объекта, независимо от типа ссылки (или указателя), используемой для функция вызов. Функции объявлены с виртуальный ключевое слово в базовом классе. Решение функция вызов выполняется во время выполнения.