¿Cuál es la ventaja de esta llamada a función indirecta?
Encontré el siguiente código en una biblioteca:
class Bar {
public:
bool foo(int i) {
return foo_(i);
}
private:
virtual bool foo_(int i) = 0;
};
Ahora me pregunto: ¿por qué usarías esta indirección? ¿Podría haber alguna razón por la cual lo anterior sería mejor que la alternativa simple:
class Bar {
public:
virtual bool foo(int i) = 0;
};