クラスAがクラスBとのコンポジション関係にある場合、クラスAのデータカプセル化を中断しないように、クラスAを介して取得されたBの特定のインスタンスをクラスAで変更可能にする必要がありますか?あるいは、合成はデータのカプセル化ではなく、生涯バインドのみを意味しますか?コンポジション対データカプセル化
class A
{
B itsB;
B* getB() {return &itsB);
}
void AnotherClass::anyOperation()
{
itsA->getB()->function(); // is this legal ?
}
C++を使用している場合は、itsA.getB() - > function()である必要があります。 – Bhaskar
itsAがBのitsBとしてインスタンス化されるかどうか、B *のitsB = new B() – bethoven25
前のコメントでは、Aの代わりにBを間違えて記述しました。私はAnotherClassがそのAを "A itsA"としてインスタンス化した場合、それは "itsA"になることを意味します。ただし、A * itsA = new A()としてインスタンス化されている場合は、 "itsA->"になります。 – bethoven25