は、それはあなたのコードをリファクタリングから利益を得ることができるように聞こえる
class A
{
virtual void foo();
virtual void bar();
};
class B
{
virtual void biz();
virtual void baz();
};
class C : public A, public B
{
virtual void foo() { /* my stuff */ }
virtual void biz() { /* my other stuff */ +
// but I don't need bar or baz!
};
が分割うち、あなたがCにしたいAとBの概念的に異なる部分考えてみましょう:
class core_A
{
virtual void foo();
};
class A : public core_A
{
virtual void bar();
};
class core_B
{
virtual void biz();
};
class B : public core_B
{
virtual void baz();
};
class C : public core_A, public core_B
{
virtual void foo() { /* my stuff */ }
virtual void biz() { /* my other stuff */ +
// Great, I don't have bar or baz!
};
返信いただきありがとうございます!本当に感謝しています。私がAとBのいくつかの振る舞いを修正する必要があるため、継承を使用することを考えたのは、AとBを実際に編集したくないからです。 – user1657624