Видео: Каква е разликата между виртуална функция и отмяна на функция?
2024 Автор: Lynn Donovan | [email protected]. Последно модифициран: 2023-12-15 23:43
Виртуални функции не може да бъде статичен и също не може да бъде приятел функция от друг клас. Те винаги са дефинирани в базов клас и отменено в производен клас. Не е задължително за производен клас отменя (или предефинирайте виртуална функция ), в този случай версия на базовия клас на функция се използва.
Освен това, каква е разликата между виртуална функция и чиста виртуална функция?
Основното разлика между ' виртуална функция“и „чиста виртуална функция ' е това ' виртуална функция “има своето определение в базов клас, а също и наследяващите производни класове го предефинират. В чиста виртуална функция няма определение в базов клас и всички наследяващи производни класове трябва да го предефинират.
Впоследствие въпросът е какво е отмяна на функцията в C++? Отмяна на функцията на C++ . Ако извлеченият клас дефинира същото функция както е дефинирано в неговия базов клас, той е известен като отмяна на функцията в C++. Използва се за постигане на полиморфизъм по време на изпълнение. Тя ви позволява да осигурите конкретно изпълнение на функция което вече е осигурено от неговия базов клас.
По същия начин хората питат защо използваме виртуални функции?
Виртуални функции са използван да поддържа "Полиморфизъм по време на изпълнение". Когато виртуална функция се извиква чрез използване на указател на базов клас, компилаторът решава по време на изпълнение коя версия на функция т.е. версията на базовия клас или отменената версия на производен клас трябва да се извика. Това се нарича полиморфизъм по време на изпълнение.
Можете ли да замените невиртуална функция в C++?
В C++ всички членове на класа функции са не - виртуален по подразбиране. Те мога бъде направено виртуален чрез използване на виртуален ключова дума в функция подпис. Както беше посочено по-горе ако на функция от базов клас се прави виртуален тогава функция от производен или дочерен клас функция със същото име може да отмени на базовия клас функция.
Препоръчано:
Каква е разликата между Pebble Tec и Pebble Sheen?
Pebble Tec е изработен от естествени, полирани камъчета, които създават неравна текстура и нехлъзгаща се повърхност. Pebble Sheen включва същата технология като Pebble Tec, но използва по-малки камъчета за гладко покритие
Каква е разликата между когнитивен психолог и когнитивен невролог?
Когнитивната психология е по-фокусирана върху обработката на информация и поведението. Когнитивната невронаука изучава основната биология на обработката на информацията и поведението. когнитивната невронаука в центъра
Каква е разликата между виртуална функция и чиста виртуална функция в C++?
Основната разлика между „виртуална функция“и „чиста виртуална функция“е, че „виртуалната функция“има своята дефиниция в базовия клас, а също така наследените производни класове я предефинират. Чистата виртуална функция няма дефиниция в базовия клас и всички наследяващи производни класове трябва да я предефинират
Каква е разликата между отмяна на метод и скриване на метод?
При отменянето на метода, когато референтната променлива на базовия клас сочи към обекта на извлечения клас, тогава тя ще извика отменения метод в извлечения клас. При скриването на метода, когато референтната променлива на базовия клас сочи към обекта на извлечения клас, тогава тя ще извика скрития метод в базовия клас
Каква е приликата и каква е разликата между релета и PLC?
Релетата са електромеханични ключове, които имат намотка и два вида контакти, които са NO & NC. Но програмируем логически контролер, PLC е мини компютър, който може да взема решения въз основа на програмата и нейния вход и изход