Видео: Каква е разликата между виртуална функция и чиста виртуална функция в C++?
2024 Автор: Lynn Donovan | [email protected]. Последно модифициран: 2023-12-15 23:43
Основното разлика между ' виртуална функция“и „чиста виртуална функция ' е това ' виртуална функция “има своето определение в базов клас, а също и наследяващите производни класове го предефинират. В чиста виртуална функция няма определение в базов клас и всички наследяващи производни класове трябва да го предефинират.
По този начин какво е чиста виртуална функция C++?
Чисти виртуални функции и абстрактни класове в C++ Не можем да създаваме обекти от абстрактни класове. А чиста виртуална функция (или абстрактно функция ) в C++ е виртуална функция за които нямаме реализация, ние само го декларираме. А чиста виртуална функция се декларира чрез присвояване на 0 в декларацията.
Освен по-горе, какво е виртуална функция и виртуален клас? А виртуална функция е член функция в рамките на базата клас които предефинираме в производно клас . Декларира се с помощта на виртуален ключова дума. Когато клас съдържащи виртуална функция се наследява, производното клас предефинира виртуална функция за да задоволи собствените си нужди.
В тази връзка, какво е виртуална и чиста виртуална функция, обяснявайте с пример?
А чиста виртуална функция е функция които трябва да бъдат отменени в производен клас и не е необходимо дефиниран . А виртуална функция е обявено за „ чист ” с помощта на любопитния синтаксис =0. За пример : class Base {
Каква е ползата от виртуалните функции?
Виртуални функции уверете се, че правилният функция се извиква за обект, независимо от типа препратка (или указател), използван за функция повикване. Функции са декларирани с a виртуален ключова дума в базовия клас. Разрешаването на функция обаждането се извършва по време на изпълнение.