特にC++では、一般的にはオブジェクト指向設計の原則として、次のことを行うことに何か問題がありますか?それは実際に行われていますか?それが明確な設計上の欠陥を示している場合、良い代替案は何ですか?何か利点はありますか?
class Property {};
class CompositeProperty : public Property
{
...
private:
std::vector<Property> m_properties;
};
具体的には、派生クラスに基本クラスオブジェクトを含めることができますか?
背景を少し見てみると、これはXML構造をモデル化/ミラーリングするために使用されていましたが、設計は、通常は努力している継承と構成の関係に直面していると感じました。