Ciao a tutti,
sto studiando la dichiarazione di classe anticipata ( forward ) e ho qualche problema.
Ho capito che funziona come le dichiarazione di classe ma con la differenza che permette le dipendenze circolari.
Tuttavia non sono riuscito a creare un esempio funzionante, potete aiutarmi?
Per quale motivo e in quale contesto puo essere utile utlizzare le forward .
Grazie
Lele
codice:#include "derivata.h" int main(int argc, char *argv[]) { }codice:// derivata.cpp // in uno di questi posti mi aspettavo di poter accere algli elementi di base.h ma nulla #include "derivata.h" derivata::derivata() { } void derivata::derivataTre (){ } void derivata::derivataUno(base *uno){ } void derivata::derivataDue(base &due){ }codice:// Derivata.h #ifndef DERIVATA_H #define DERIVATA_H //#include <base.h> class base; //class derivata : public base class derivata { public: base *uno; derivata(); void derivataUno(base *uno); void derivataDue(base &due); void derivataTre(); }; #endif // DERIVATA_Hcodice:// base.h #ifndef BASE_H #define BASE_H #include <iostream> using std::cout; class base { public: base(); void baseUno(); }; #endif // BASE_Hcodice://Base.cpp #include "base.h" base::base() { } void base::baseUno(){ cout << "baseUno\n"; }

Rispondi quotando