これが私の疑問です: 私は書くことができ、二つのクラスAとB を持っている:公開オブジェクトを継承または使用するのに最適なのは何ですか?
class A: public B {....}
のでan_instance_of_Aは、B法を使用することができます。
しかし、私はまた書くことができます:
class A {
public:
B instance_B;
}
のでan_instance_of_Aはinstance_Bのメソッドを使用することができます。 (すなわち、B法)。
私は同じことができます。 ベストは何ですか?コンパイルするのが速いのは何ですか?それは同じですか?おかげさまで
これは依存しています。 'A'と' B'とは何ですか? 'A'は' B'ですか?なぜ公開する必要がありますか?コンパイルの速度は正しい設計ほど重要ではありません(最も極端な状況を除いて)、良い設計ではコンパイル時間が長くなることはまれです。 –
問題は方法を使用するのではなく、問題に最適なデザインを選択することです。これを取り巻く話題には数多くの本が書かれています。あなたはウィキペディアから始めることができます:http://en.wikipedia.org/wiki/Composition_over_inheritance、http://en.wikipedia.org/wiki/Circle-ellipse_problemそしてそこから続行してください。 – dbrank0
[継承を超える構成を推奨しますか?](http://stackoverflow.com/questions/49002/prefer-composition-over-inheritance) –