CPP Module 03
Exercise 00 : Aaaaand… OPEN!
과제의 요구사항대로 구현한다면 특별히 서술할만한 내용은 없음
Exercise 01 : Serena, my love!
클래스의 상속에서, 자식 클래스는 부모 클래스의 멤버들을 이어받아 사용하게됨
- 부모 클래스의
private
멤버는 외부 및 자식 클래스에서 직접 사용할 수 없음 - 부모 클래스의
protected
멤버는 자식 클래스에서는 직접 사용할 수 있으나, 외부에서는 여전히 사용할 수 없음 - 부모 클래스와 자식 클래스에 같은 이름과 원형의 멤버함수가 존재하는 경우 함수의 재정의가 필요
- 부모 클래스에서 해당 함수를
virtual
로 선언 - 자식 클래스에서는 새롭게 정의를 만들어 사용
- 부모 클래스에서 해당 함수를
- 상속을 사용할 경우, 소멸자는 항상
virtual
로 선언 : 그렇지 않으면 부모의 소멸자만이 호출되기 때문
Exercise 02 : Repetitive work
Exercise 01과 동일한 과제
Exercise 03 : Now it’s weird!
다중 상속의 경우, 부모 클래스끼리 같은 조부모 클래스를 상속받는 경우가 존재
이 경우 중복되어 상속받는 문제가 발생하기 때문에 부모 클래스에서 virtual
키워드를 사용하여 조부모를 가상 기초 클래스로 선언
상속받은 클래스들에 같은 메소드가 존재할시 모호한 호출을 막기 위해 사용 범위 연산 결정자(::
)를 사용
다중 상속에 관해 정리해놓은 내용 - 14.3 참고