|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2001
Città: Salerno
Messaggi: 649
|
Non riesco a includere una mia classe(c++)
Ciao raga,
ho creato una classe nodo, bene tutto ok. Ora però voglio usare la classe nodo in un'altra mia classe coda. Dato che il mio libro fa un giro di parole ma nn mi fa capire una mazza, devo riuscire in qualche modo ad avvertire il compilatore della presenza di questa mia classe nodo. Ad esempio: #include "Coda.h" Coda::Coda(Nodo& n){........} bene in questo costruttore il compilatore giustamente nn sa dove cavolo prendere questa classe Nodo. Avevo pensato di aggiungere un #include "Nodo.h", ma neanche va bene.... Qualkuno può aiutarmi? grazie
__________________
![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Allora...quando si fanno i file .h vanno in cluse in un #ifndef...sorpattutto con el classi si può incorrere in problemi di vario genere (include ricorsivi ad esempio)...ed in questo modo risolvi molti problemi...
Ad esempio una cosa del genere : Codice:
//Contenuto di Coda.h #ifndef CODA_H #define CODA_H #include "Nodo.h" class Coda { public: Coda(Nodo &n); //anche qui serve la classe Nodo }; #endif //Cotenuto di Nodo.h #ifndef NODO_H #define NODO_H class Nodo { .... }; #endif //Contenuto di Coda.cpp #include "nodo.h" //questo sopra non sarebbe necessario, ma lo puoi inserire comunque //ifndef ti evita di includere un'altra volta l'header della classe Nodo #include "coda.h" Coda::Coda(Nodo &n) { .... } |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Sep 2001
Città: Salerno
Messaggi: 649
|
Quote:
![]()
__________________
![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:27.