Ma tu hai fatto ereditare a da b e poi b da a... non ti sembra un po' insensato???

class a: public b
class b: public a

è un circolo non permesso...

Mi sa che dovresti riconsiderare la struttura delle classi.. spiega magari il tuo problama che ti diamo una mano..