Class A { int a }
Class B { int a }

Class C : A, B { } // A Bを継承
この状態だとCからaにアクセスする場合は
thisじゃどっちのaだよってなるから
A::a, B::aってやる必要があるけど

Class C { A a; B b; } // A Bを宣言
これと違う部分は
名前が衝突するかしないかだけ?