중복 기반 확인
두 부모가 같은 기반 클래스를 상속하는지 먼저 구조를 그려 봅니다.
다이아몬드 상속은 같은 기반 클래스가 두 경로로 들어오면서 상태와 함수 호출이 모호해지는 구조입니다.
두 부모가 같은 기반 클래스를 상속하는지 먼저 구조를 그려 봅니다.
Derived에서 Base 멤버 접근이 어느 경로인지 애매해지는 지점을 확인합니다.
공유해야 하는 기반 클래스는 virtual public Base처럼 하나로 합칩니다.
가상 기반 클래스는 최종 파생 클래스가 초기화 책임을 갖는다는 점을 확인합니다.