Anteprima
Vedrai una selezione di 1 pagina su 2
Programma C++ : Classe Lista Pag. 1
1 su 2
Disdici quando vuoi 162x117
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Sintesi
Programma che crea una lista costituita da oggetti contenenti caratteri.
Il programma fa uso delle classi.
Estratto del documento

#include <cstdlib>

#include <iostream>

using namespace std;

class Nodo {

public:

Nodo() { dato = 0; next = 0; }; // costruttore senza parametri

void Set(char c) { dato = c; }; // imposta il valore del dato

memorizzato

char Get() { return dato; }; // ritorna il valore del dato

memorizzato

void SetNext(Nodo *p) { next = p; }; // imposta l'indirizzo del nodo

successivo

Nodo *GetNext() { return next; }; // ritorna l'indirizzo del nodo

successivo

~Nodo() { delete next; }; // distruttore. Rimuove il nodo

successivo

private:

char dato; // dato memorizzato

Nodo *next; // puntatore al nodo successivo

};

// Funzione ricorsiva che mostra tutti i nodi della lista

void MostraNodi(Nodo*);

int main()

{ Nodo *lista = 0, *endList, *p;

cout << "\n\tCreazione di una lista di oggetti da un unsieme di caratteri\n"

<< endl;

cout << "Inserire una sequenza di caratteri da tastiera (Ctrl+Z per

terminare)" << endl;

char carattere;

// Crea la lista

while( cin.get(carattere) ) {

p = new Nodo; // alloca un nuovo nodo

// Memorizza il carattere letto e il puntatore al prossimo elemento

p->Set(carattere); �

p->SetNext(0); // questo anche l'ultimo nodo

if(!lista) // se la lista vuota inizializza i...

lista = endList = p; // ... puntatori alla testa e alla coda

della lista

else {

endList->SetNext(p); // il nodo precedente punta a p

endList = p; // il nodo terminale adesso p

}

}

// Visualizza tutti i nodi della lista

MostraNodi(lista);

/*

Dealloca la lista dalla memoria grazie ai distruttori che rimuovono

tutti i suoi nodi in cascata

*/

delete lista;

Dettagli
Publisher
2 pagine
455 download