C++에서 super 키워드를 에뮬레이트하는 방법

C Eseo Super Kiwodeuleul Emyulleiteuhaneun Bangbeob



일부 개체 기반 프로그래밍 언어에는 하위 클래스가 기본 또는 상위 클래스의 함수 및 멤버를 호출할 수 있도록 하는 'super' 키워드가 있습니다. 일부 프로그래밍 언어는 'super' 키워드를 구체적으로 사용하는 방법을 결정합니다. 그러나 C++의 경우 super 키워드는 Java 및 Python과 같은 방식으로 사용되지 않습니다. 이 자습서에서는 C++에서 슈퍼 키워드의 에뮬레이션을 연구하고 시연합니다.

C++에서 super 키워드를 에뮬레이트하는 방법

'super'라는 키워드는 C++ 컴파일러에서 사전 정의되지 않습니다. 상속과 함수 오버라이드는 슈퍼클래스의 멤버와 메소드를 받는 서브클래스를 개발하는 데 사용됩니다. 연산자(::)와 함께 액세스하려는 '슈퍼 클래스'의 식별자와 멤버 또는 메서드를 제공하십시오.







통사론

아래 표시된 구문을 사용하여 하위 클래스에서 'parent_function()'과 같은 이름을 가진 'parent_class'라는 이름의 상위 클래스에 있는 메서드에 액세스할 수 있습니다.



parent_class::부모_함수 ( ) ;



부모 클래스의 속성에 액세스하기 위해 C++를 사용하여 슈퍼 키워드 기능을 에뮬레이트하고 범위 확인 연산자(::)를 사용합니다.





범위 결정 연산자(::)는 클래스가 부모 클래스에서 상속받을 때마다 부모 클래스의 멤버를 얻기 위해 사용할 수 있습니다. 예를 들어 다음 코드를 고려하십시오.

#include
네임스페이스 표준 사용;

클래스 베이스_클래스 {
공공의:
무효 기본 기능 ( ) {
쿠우트 << '이것은 기본 클래스에서 baseFunction을 벗어난 것입니다.' << 끝;
}
} ;
class derieved_Class: 공개 base_Class {
공공의:
무효 함수 ( ) {
base_Class::baseFunction ( ) ;
쿠우트 << '기본 클래스에서 baseFunction에 액세스하는 파생 클래스입니다.' << 끝;
}
} ;
정수 메인 ( ) {
deried_Class d;
d.d함수 ( ) ;
반품 0 ;
}


위의 프로그램은 기본 또는 부모 클래스 baseFunction()의 함수를 가지고 있습니다. dFunction()에서 baseFunction()에 액세스하는 또 다른 파생 클래스가 정의됩니다. 주요 방법은 먼저 파생 클래스의 인스턴스를 만들고 baseFunction() 및 dFunction() 모두의 출력을 인쇄하는 dFunction()을 호출하는 것입니다.



결론

'super' 키워드는 C++에 직접 존재하지 않지만 상속과 함수 재정의를 결합하여 동작을 모방할 수 있습니다. 서브클래스의 구현으로 이동하기 전에 먼저 슈퍼클래스의 함수를 호출함으로써 슈퍼클래스의 메서드나 멤버를 성공적으로 호출하고 사용할 수 있습니다. 이 게시물은 또한 더 나은 이해를 위해 C++ 코드의 인스턴스를 제공했습니다.