Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++의 기본 클래스에서 모든 오버로드된 메서드 숨기기

<시간/>

C++에서는 함수 오버로딩 기술을 사용할 수 있습니다. 그러나 일부 기본 클래스에 오버로드된 형식(동일한 이름의 다른 함수 시그니처)의 메서드가 하나 있고 파생 클래스가 기본 내부에 있는 함수 중 하나를 재정의하면 해당 함수의 오버로드된 모든 버전이 숨겨집니다. 파생 클래스입니다.

명확한 아이디어를 얻기 위해 한 가지 예를 살펴보겠습니다.

예시

#include namespace std;class MyBaseClass 사용 { public:void my_function() { cout <<"이것은 my_function입니다. 이것은 인수를 사용하지 않습니다." < 

출력

[오류] 'MyDerivedClass::my_function(int)' 호출에 일치하는 함수가 없습니다.[참고] 후보는 다음과 같습니다.>