Herencia de interfaz en C ++

Tengo la siguiente estructura de clase:

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

Ahora el siguiente código no es compilable:

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

El compilador dice que el método.methodA() Es virtual y no está implementado. Pensé que se implementa enClassA (que implementa elInterfaceA). ¿Alguien sabe donde está mi culpa?

Respuestas a la pregunta(4)

Su respuesta a la pregunta