C ++ dziedziczy z wielu klas bazowych o tej samej nazwie funkcji wirtualnej

Próbowałem tego kodu:

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;
}

Używanie skomentowanej części jest OK, ale gdy próbuję zapisać definicje poza deklaracją klasy, kompilator zgłasza błędy. Używam kompilatora MSVC11, czy ktoś wie, jak to napisać? Muszę przenieść kod do pliku cpp.

Dziękuję ~~

questionAnswers(3)

yourAnswerToTheQuestion