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_H
codice:
// base.h
#ifndef BASE_H
#define BASE_H
#include <iostream>
using std::cout;
class base
{
public:
base();
void baseUno();
};
#endif // BASE_H
codice:
//Base.cpp
#include "base.h"
base::base()
{
}
void base::baseUno(){
cout << "baseUno\n";
}