override1 재정의 함수들은 override로 파생 클래스의 가상함수 구현이 부모 클래스의 해당 가상 함수를 재정의 한다. 가상 함수 재정의(overriding)은 파생 클래스 함수를 부모 클래스의 인터페이스를 통해 호출할 수 있게 만드는 메커니즘이다. 재정의를 하기 위해서 필요한 조건들이 있는데, 1. 부모 클래스 함수가 반드시 가상함수여야 하고, 2. base 함수와 derived 함수의 이름이 동일해야 하며, 3. 매개변수 형식들이 동일해야 한다. 또한 4. const성이 동일해야 하며, 5. 반환 형식과 예외 명세가 호환되어야 한다. 그리고 6. 참조 한정사들이 반드시 동일해야 한다. C++11은 파생 클래스 함수가 부모 클래스 버전을 재정의 한다는 의도를 override를 사용해 명시적으로 표현한다. class Base { public: v.. 2020. 7. 5. 이전 1 다음