-
부모클래스의 메서드가 오버로딩된 메서드인 경우@ 16. 1 ~ 17. 1/면접관련 2017. 1. 4. 20:43
특정 이름과 파라미터로 메서드를 오버라이딩 하면 파라미터와 관계없이 같은 이름을 가지는 부모클래스의 모든 메서드들이 숨겨진다.
A클래스
virtual void sh();
virtual void sh(int i);
B클래스 : public A클래스
virtual void sh();
하게 되면
B클래스.sh(1)는 호출이 안된다.
A클래스에서 정의한 함수들이 모두 숨겨진다.
할 수 있는 방법은 부모의 포인터로 자식의 객체를 가리키고 실행하면 된다.
그냥 모두다 오버라이딩 하는게 낫다.
아래 내글 다시 참고
'@ 16. 1 ~ 17. 1 > 면접관련' 카테고리의 다른 글
C++ 캐스팅 종류 (0) 2017.01.04 L벨류 R벨류 정리 (0) 2017.01.04 생성자 및 대입연산자 관련 자식에서 부모를 호출해야한다. (0) 2017.01.04 클래스 생성 순서(부모, 자식) (0) 2017.01.04 메서드 오버라이딩의 특수한 경우 (0) 2017.01.04