- Single:
class B : public A - Multilevel:
class C : public B - Multiple:
class C : public A, public B
Architecture Diagram
┌───────────┐
│ Device │
└─────┬─────┘
┌────┴────┐
┌─────┴───┐ ┌───┴─────┐
│ Printer │ │ Scanner │
└─────┬───┘ └───┬─────┘
└────┬────┘
┌─────┴─────┐
│ Copier │ (Without virtual inheritance: 2 copies of Device!)
└───────────┘