이 상황을 고려하십시오. 클래스 BaseClass는 x() 및 y() 함수를 정의합니다. x()는 y()를 호출합니다.파생 된 객체가 파생 클래스에서 재정의 된 함수를 호출하지 않는 이유는 무엇입니까?
클래스 DerivedClass는 BaseClass에서 상속 받고 함수 y()를 다시 정의합니다.
클래스 DerivedClass의 개체 D가 만들어지고 함수 x()가 호출됩니다.
y()가 사용 된 x()가 호출되면 BaseClass에 정의 된 것이나 DerivedClass에서 재정의 된 것입니까?
개체 D는 BaseClass로
기능 X의 기능 X를()() DerivedClass
함수 호출 함수 Y() (Y를 기능 BaseClass로와하지가) 컴파일 타임에 바인딩 된 호출 호출합니다.
정적 바인딩입니다.
왜 나는 그 문제가 명확하지 않습니다. 함수 X가 (객체 D에 의해) 호출되고 객체 D가 파생 클래스 인 경우 재 정의 된 클래스의 D.Y()를 호출하지 않습니까?
이것은 제가 감각을 없애려고 노력하고있는 샘플입니다.
baseClass
void x(); // calls y();
void y();
derivedClass
void y();
main()
derivedClass D;
D.x();
코드에 예제를 표시 할 수 있습니까? 코드에 대한 설명을 읽는 것보다 코드를 읽는 것이 더 쉽습니다. – Brian
나는 코드를 추가했습니다. – YelizavetaYR
이것은 C++ 코드가 아닙니다. 작동 예제를 제공하십시오 –