Printer와 Scanner가 Device를 가상 기반으로 상속하면 Copier 안에는 공유 Device가 하나만 남아 `c.id`가 모호하지 않습니다.
| 코드 위치 | 써야 하는 표현 | 의미 |
|---|---|---|
| 중간 클래스 | class Printer : virtual public Device |
Device를 복사하지 말고 공유 기반으로 연결한다. |
| 최종 클래스 | class Copier : public Printer, public Scanner |
두 기능을 합치되 Device는 한 번만 가진다. |
| 객체 사용 | c.id = 7 |
id 경로가 하나라 모호성 없이 접근한다. |