- 순수가상함수를 선언하는 목적은 파생 클래스에게 함수의 "인터페이스"만을 물려주려는 것
- 단순 가상함수를 선언하는 목적은 파생 클래스로 하여금 함수 인터페이스뿐만 아니라 그 함수의 기본 구현도 물려받게 하자는 것
- 비가상함수를 선언하는 목적은 파생클래스가 함수 인터페이스와 더불어 그 함수의 필수적인 구현을 물려 받게 하는 것
- 결정적인 실수 두 가지를 피하자
- 모든 멤버 함수를 비가상함수로 선언하는 것을 피하자
- 모든 멤버함수를 가상함수로 선언하는 것을 피하자
- 인터페이스 상속은 구현 상속과 다릅니다. public 상속에서, 파생 클래스는 항상 기본 클래스의 인터페이스를 모두 물려 받습니다.
'서적 > Effective C++' 카테고리의 다른 글
항목 36: 상속 받은 비가상 함수를 파생 클래스에서 재정의하는 것은 금물! (0) | 2022.04.07 |
---|---|
항목 35: 가상함수 대신 쓸 것들도 생각해 두는 자세를 시시때때로 길러 두자 (0) | 2022.04.07 |
항목 33: 상속된 이름을 숨기는 일은 피하자 (0) | 2022.04.07 |
항목 32: Public 상속 모형은 반드시 "is-a"를 따르도록 만들자 (0) | 2022.04.07 |
항목 2: #define을 쓰려거든 const, enum, inline을 떠올리자 (0) | 2022.01.26 |