7
que tiene un conjunto de clases de esta manera:C++ evitando manualmente llamando a la función de la clase base
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
}
}
};
¿Hay alguna manera de evitar manualmente poner este código:
if (A::Doit() == 1) { return 1; } else {
en cada clase que es derivado de A?
La sintaxis correcta es 'clase B: public A'. C++ no es Java. – kennytm
@Justin ᚅᚔᚈᚄᚒᚔ: OP pregunta cómo evitar escribir 'if (A :: Doit() == 1) return 1; } else {'en cada subclase, no cómo llamar a' A :: Doit() 'sin saber A. La pregunta vinculada ni siquiera está relacionada con la herencia. – kennytm