Se io ho una classe base e una derivata, nel costruttore della classe derivata posso richiamare un oggetto della classe base che poi vado ad utilizzare nella classe base, esempio:

//////////////////////////////////// classe base /////////////////////////////////
Class Base
{
public:
Base(){};
void scrivi(Base*);
Base* prova2(Base*);

private:
Base *z;
}

Base* Base:rova2(Base* nuovo)
{

nuovo->scrivi(XXX); //XKE IN QUESTO CASO MI DA ERRORE

}
////////////////////////////////// classe derivata ///////////////////////////////////////////
#include"base.h"
Classe derivata
{
private:
Base *x;
Base *Y;
public:
derivata(){};
}

derivata::derivata()
{
XXX=new *Base();
XXX->prova(XXX);
}

//////////////////////////////////////////////

L'errore che mi da in quel caso è was not declared in this scope. Nonostante abbia utilizzato gli include...qualcuno puo aiutarmi??
Grazie a tutti in anticipo!