3
他の呼び出しに基づいて、基本クラスの複数の機能を置き換えることができる「スタッキング継承」のタイプはとにかくありますか?複数のクラスからのC++ポリモフィズム
例えば何かのように:
class Base {
void func1(){/* do something */}
void func2(){/* do something */}
};
class A1 {
void func1(){/* do something else */}
};
class A2 {
void func2(){/* do something else */}
};
int main(){
A1 a1obj = new A1();
A2 a2obj = new A2();
Base obj = new Base();
obj = &a1obj;
obj = &a2obj;
obj.func1(); //now A1::func1()
obj.func2(); //now A2::func2()
}
ありがとう
仮想関数やC++で(可能であれば避けるべきである)、多重継承があり
は '使用する方法を説明する章をお使いのC++帳を開きますstd :: function'を読み込み、それを読んでください。 –
はい、関数は仮想でなければなりません。基本クラスから派生する必要があります。多型の基本型を使用する場合は、ポインタまたは参照を使用する必要があります。 –
これはおそらく(いくつかの良い初心者の本を読んで)回答されるでしょう(http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list)。 –