Dziedziczenie interfejsu w C ++

Mam następującą strukturę klas:

class InterfaceA
{ 
   virtual void methodA =0;
}

class ClassA : public InterfaceA
{
   void methodA();
}

class InterfaceB : public InterfaceA
{
   virtual void methodB =0;
}

class ClassAB : public ClassA, public InterfaceB
{ 
   void methodB(); 
}

Teraz nie można skompilować następującego kodu:

int main()
{
    InterfaceB* test = new ClassAB();
    test->methodA();
}

Kompilator mówi, że metodamethodA() jest wirtualny i nie zaimplementowany. Myślałem, że jest to zaimplementowane wClassA (który implementujeInterfaceA). Czy ktoś wie, gdzie jest moja wina?

questionAnswers(4)

yourAnswerToTheQuestion