Как да емулираме супер ключовата дума в C++

Kak Da Emulirame Super Klucovata Duma V C



Някои обектно-базирани езици за програмиране имат ключовата дума „super“, която позволява на подклас да извиква функции и членове на основния или родителския клас. Някои езици за програмиране определят как трябва да се използва конкретно ключовата дума „super“. Но в случая на C++ ключовата дума super не се използва по същия начин, както в Java и Python. В този урок ще изучим и демонстрираме емулацията на супер ключови думи в C++.

Как да емулираме супер ключовата дума в C++

Ключовата дума, известна като 'super', не е предварително дефинирана в C++ компилатора. Наследяването и отмяната на функцията се използват за разработване на подклас, който взема членовете и методите на своя суперклас. Просто предоставете идентификатора на „суперкласа“ и члена или метода, до който искате да получите достъп с оператора (::).







Синтаксис

Можете да получите достъп до метод в суперклас, наречен „parent_class“, който има име като „parent_function()“ в подклас, като използвате синтаксиса, показан по-долу:



родител_клас::родителска_функция ( ) ;



Пример

Използвайки C++ за емулиране на функционалността на ключовата дума super за достъп до свойствата на родителски клас, използвайте оператора за разрешаване на обхват (::).





Операторът за разрешаване на обхвата (::) може да се използва за получаване на членовете на родителски клас, когато даден клас наследява от него. Разгледайте следния код като пример:

#include
използване на пространство от имена std;

клас основен_клас {
публичен:
void baseFunction ( ) {
cout << „Това е изходът на baseFunction от базовия клас“ << endl;
}
} ;
клас derieved_Class: публичен базов_клас {
публичен:
void dФункция ( ) {
базов_клас :: базова функция ( ) ;
cout << 'Това е производен клас, който осъществява достъп до baseFunction от базовия клас' << endl;
}
} ;
int main ( ) {
извлечен_клас d;
d.dФункция ( ) ;
връщане 0 ;
}


Горната програма има функция от базовия или родителския клас baseFunction(). Дефиниран е друг производен клас, който има достъп до baseFunction() в dFunction(). Основният метод първо създава екземпляр на derived_class и извиква dFunction(), който отпечатва изхода както на baseFunction(), така и на dFunction().



Заключение

Въпреки че ключовата дума „super“ не съществува директно в C++, нейното поведение може да бъде имитирано чрез комбиниране на наследяване и заместване на функции. Можем успешно да извикаме и използваме методи или членове на суперкласа, като първо извикаме функциите на суперкласа, преди да преминем към имплементацията на подкласа. Тази публикация също така предостави екземпляр на C++ код за по-добро разбиране.