-
항목 33 : 상속된 이름을 숨기는 일은 피하자@ 16. 1 ~ 17. 1/Effective C++ 2014. 6. 1. 20:30
유효범위는
우선 지역범위 그다음에 바깥쪽 유효범위를..
파생클래스의 유효범위가 기본 클래스의 유효범위안에 중첩되어있다.
기본 클래스에 있는 함수들은 모두 파생 클래스에 있는 함수(동일한 이름)에 가려지고 만다.
기본 클래스와 파생 클래스에 있는 함수(이름이 같은, 오버로드 할 시..)들이 받아들이는 매개변수 타입이 다르거나
말거나 거리낌없이 가려진다.
심지어 가상함수인지 비가상함수 인지의 여부도 상관이 없다..
그 이유는 멀리 떨어져 있는 기본 클래스로부터 오버로드 버전을 상속시키는 경우는 막겠다.
그러나 가능한 방법이 있다.
using 기본클래스::함수명;
이런식으로 public: 아래에 선언을 하면 된다.
주의해야할것은
private 상속일시 using은 그 이름에 해당되는 것들이 모두 파생클래스로 내려가 버리게 한다.
'@ 16. 1 ~ 17. 1 > Effective C++' 카테고리의 다른 글
항목 7:가상 소멸자 (0) 2015.01.14 항목6 : 복사생성자 및 대입연산자 제한 (0) 2015.01.14 항목 37 : 어떤 함수에 대해서도 상속받은 기본 매개변수 값은 절대로 재정의하지 말자 (0) 2014.06.02 항목4 : 객체를 사용하기 전에 반드시 그 객체를 초기화하자 (0) 2013.08.25 항목 20 : 값에 의한 전달 보다는 상수객체 참조자에 의한 전달방식을 택하는 편이 낫다 (0) 2013.08.19