C ++ herda de várias classes base com o mesmo nome de função virtual
Eu tentei este código:
class A
{
virtual void foo() = 0;
};
class B
{
virtual void foo() = 0;
};
class C : public A, public B
{
//virtual void A::foo(){}
//virtual void B::foo(){}
virtual void A::foo();
virtual void B::foo();
};
void C::A::foo(){}
void C::B::foo(){}
int main()
{
C c;
return 0;
}
Está OK ao usar a parte comentada, mas quando tento escrever as definições fora da declaração de classe, o compilador reporta erros. Eu estou usando o compilador MSVC11, alguém sabe como escrever isso? Eu preciso mover o código para o arquivo cpp.
Obrigado ~~