Как эмулировать ключевое слово super в C++

Kak Emulirovat Klucevoe Slovo Super V C



В некоторых объектно-ориентированных языках программирования есть ключевое слово «супер», которое позволяет подклассу вызывать функции и члены базового или родительского класса. Некоторые языки программирования определяют, как конкретно следует использовать ключевое слово «супер». Но в случае C++ ключевое слово super используется не так, как в Java и Python. В этом уроке мы изучим и продемонстрируем эмуляцию ключевых слов super в C++.

Как эмулировать ключевое слово super в C++

Ключевое слово, известное как «супер», не предопределено в компиляторе C++. Наследование и переопределение функций используются для разработки подкласса, который принимает члены и методы своего суперкласса. Просто укажите идентификатор «суперкласса» и члена или метода, к которому вы хотите получить доступ, с помощью оператора (::).







Синтаксис

Вы можете получить доступ к методу в суперклассе с именем «parent_class», который имеет имя вроде «parent_function()» в подклассе, используя синтаксис, показанный ниже:



parent_class::parent_function ( ) ;



Пример

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





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

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

класс базовый_класс {
публичный:
пустая базовая функция ( ) {
cout << «Это выход baseFunction из базового класса» << конец;
}
} ;
класс производный_класс: общедоступный базовый_класс {
публичный:
пустота dFunction ( ) {
base_Class:: baseFunction ( ) ;
cout << 'Это производный класс, который обращается к baseFunction из базового класса' << конец;
}
} ;
внутренний основной ( ) {
производный_класс d;
d.dФункция ( ) ;
возвращаться 0 ;
}


Вышеприведенная программа имеет функцию из базового или родительского класса baseFunction(). Определен другой производный класс, который обращается к baseFunction() в dFunction(). Основной метод сначала создает экземпляр производного_класса и вызывает функцию dFunction(), которая печатает вывод как baseFunction(), так и dFunction().



Заключение

Хотя ключевое слово «super» непосредственно не существует в C++, его поведение можно имитировать, комбинируя наследование и переопределение функций. Мы можем успешно вызывать и использовать методы или члены суперкласса, сначала вызывая функции суперкласса, прежде чем переходить к реализации подкласса. Этот пост также предоставил пример кода C++ для вашего лучшего понимания.