7
Mam zestaw klas tak:C++ unikając ręcznie wywołanie klasy bazowej funkcji
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
}
}
};
Czy istnieje sposób można uniknąć ręcznego wprowadzenia tego kodu:
if (A::Doit() == 1) { return 1; } else {
w każdej klasie, która jest uzyskane z A?
Poprawna składnia to "klasa B: publiczna A". C++ to nie Java. – kennytm
@Justin ᚅᚔᚈᚄᚒᚔ: OP pyta, jak unikać wpisywania 'if (A :: Doit() == 1) return 1; } else {'w każdej podklasie, a nie jak wywoływać' A :: Doit() 'bez wiedzy A. Połączone pytanie nie jest nawet związane z dziedziczeniem. – kennytm