|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2002
Messaggi: 409
|
[C++] Template, Classi e Typedef
Salve a tutti!
Ho creato le seguenti classi: Codice:
#include "Cella.h" using namespace std; template <class TA> class AlberoBin { public: typedef Cella<TA>* Nodo; AlberoBin(); ~AlberoBin(); //Tutti gli operatori della alberoBin void creaAlberoBin (); bool alberoBinVuoto (); Nodo binRadice(); Nodo binPadre(Nodo); Nodo figlioSinistro(Nodo); Nodo figlioDestro(Nodo); bool sinistroVuoto(Nodo); bool destoVuoto(Nodo); void insBinRadice(); void insFiglioSinistro(Nodo); void insFiglioDestro(Nodo); TA leggiNodo(Nodo); void scriviNodo(Nodo, TA); void cancSottoAlbero(Nodo); private: Nodo radice; }; //### Implementazione dei metodi ### Codice:
template<class T> class Cella { public: typedef T tipoelem; typedef Cella<T>* Nodo; Cella(); Cella(tipoelem); ~Cella(); void setCella(tipoelem); tipoelem getCella(); void setFiglioSinistro(Nodo); Nodo getFiglioSinistro(); void setFiglioDestro(Nodo); Nodo getFiglioDestro(); void setPadre(Nodo); Nodo getPadre(); private: tipoelem dato; Nodo figlioSinistro; Nodo figlioDestro; Nodo padre; }; //### Implementazione dei metodi ### Vorrei sapere se esiste un modo per poter dichiarare variabili di tipo Nodo all'interno del main. Ovviamente nel main faccio l'include del file AlberoBin.h contenente la classe AlberoBin, ma dichiarazioni di variabili del tipo Codice:
Nodo nodo; Grazie
__________________
Sony Vaio FE11M | EeePC 901 Linux | Intel C2D E6750 | Asus P5K-E WiFi/AP | Corsair XMS2 PC 6400 2x1GB | Hitachi 7K250 80GB Sata | Hitachi 7K250 80GB Sata | Seagate 7200.10 500GB Sata | LiteOn Combo 5232K | Nec ND-3500 | GeForce 8400GS | Monitor LG L204WT| Creative Inspire 5.1 Digital 5500 | Logitech Cordless Desktop MX | Mouse MX700 | LinkSys WAG54G | Canon IP4000 | Dell X50v | Nikon Coolpix 3100 | FujiFilm FinePix S5600 | Sony Alpha 300 18-70 |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Codice:
AlberoBin<int>::Nodo nodo; Codice:
#include "Cella.h" using namespace std;
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Sep 2002
Messaggi: 409
|
Grazie fek!
Quali problemi potrebbero comportare l'utilizzo della direttiva using in un file .h? Comunque, ne faccio un uso temporaneo... Mi è utile per poter utilizzare qualche cout per verificare il corretto funzionamento.
__________________
Sony Vaio FE11M | EeePC 901 Linux | Intel C2D E6750 | Asus P5K-E WiFi/AP | Corsair XMS2 PC 6400 2x1GB | Hitachi 7K250 80GB Sata | Hitachi 7K250 80GB Sata | Seagate 7200.10 500GB Sata | LiteOn Combo 5232K | Nec ND-3500 | GeForce 8400GS | Monitor LG L204WT| Creative Inspire 5.1 Digital 5500 | Logitech Cordless Desktop MX | Mouse MX700 | LinkSys WAG54G | Canon IP4000 | Dell X50v | Nikon Coolpix 3100 | FujiFilm FinePix S5600 | Sony Alpha 300 18-70 |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:20.