7
を呼び出して、手動で回避:C++私はこのようなクラスのセットを持って、基本クラスの機能
class A {
public:
int DoIt() {
//common code
}
};
class B : public A {
int DoIt() {
if (A::DoIt() == 1) {
return 1;
}
else {
// do b specific code
}
}
};
class C : public A {
int DoIt() {
if(A::DoIt()==1) {
return 1;
}
else {
// do c specific code
}
}
};
は、私は手動でこのコードを置くことを避けることができます方法はありますか:あるすべてのクラスで
if (A::Doit() == 1) { return 1; } else {
Aから派生した?
正しい構文は 'class B:public A'です。 C++はJavaではありません。 – kennytm
@Justin OP:OPは、 'if(A :: Doit()== 1)が1を返すのを避ける方法を尋ねています。 } else {'をすべてのサブクラスで認識しないで' A :: Doit() 'を呼び出す方法ではありません。リンクされた質問は継承に関連するものではありません。 – kennytm