공통 기반이 두 경로로 들어오는가
같은 기반 클래스가 반복되면 이름 모호성과 중복 상태가 생길 수 있습니다.
설계가 복잡해질수록 코드 가능 여부보다 상태 중복과 생성 책임을 표로 확인해야 합니다.
같은 기반 클래스가 반복되면 이름 모호성과 중복 상태가 생길 수 있습니다.
`virtual public`으로 공유 기반을 한 번만 유지할 수 있는지 확인합니다.
가상 기반 클래스는 최종 파생 클래스의 생성자에서 초기화합니다.
상속 그래프가 설명하기 어렵다면 멤버 객체 조합이 더 읽기 쉽습니다.
다중 상속은 인터페이스 조합이면 비교적 안전하고, 상태를 가진 클래스 조합이면 diamond와 초기화 책임을 먼저 통과해야 합니다.