Salve a tutti, ho quasi finito un progetto, purtroppo non ho ben capito come, e quando č necessario usare i distruttori, riporto i file header del mio progetto e il main, poichč suppongo sia qui che debba usarli:
Node.hpp
LinkedList.hppcodice:#ifndef NODE_HPP #define NODE_HPP #include <string> #include <stdio.h> #include "Film.hpp" using namespace std; class Node { protected: Film* element; Node* next; Node* prev; public: Node(); Node(Film* element); ~Node(); Film* getElement(); void setElement(Film* element); void setNext(Node* succ); Node* getNext(); void setPrev(Node* p); Node* getPrev(); };
Distributore.hppcodice:#ifndef LINKEDLIST_HPP #define LINKEDLIST_HPP #include "Node.hpp" #include <string> #include <stdio.h> #include <vector> #include "Tokenizer.hpp" #include <algorithm> #include <sstream> #include <string.h> using namespace std; class LinkedList { protected: Node* header; Node* trailer; int size; public: LinkedList(); ~LinkedList(); int getSize(); Node* isPresent(Film* f); void addNode(Film* element,unsigned n); void removeNode(Film* toRemove); Film* exitFilm(Film* f); void returnFilm(Film* f); string copieFilm(Film* f); vector<Film*> ListaFilmPerAnno(unsigned a); vector<Film*> ListaRemake(); string search(string word, int mode); string listaCompleta(); Film* objectFilm(string titolo); }; #endif /* LINKEDLIST_HPP */
Ora nel main se inserisco un' istruzione alla fine, richiamando il distruttore di Distributore, il programma va in loop, mi spiegate quando e come si invocano, usano i distruttori?codice:#ifndef DISTRIBUTORE_HPP #define DISTRIBUTORE_HPP #include "LinkedList.hpp" using namespace std; class Distributore { protected: LinkedList* distributore; int size; public: Distributore(); ~Distributore(); int getSize(); void InserisciFilm(Film* f, unsigned c); void EliminaFilm(Film* film); Film* EsceFilm(Film* f); void RitornaFilm(Film* f); string CopieFilm(Film* f); vector<Film*> ListaFilmPerAnno(unsigned a); vector<Film*> ListaRemake(); string search(string word, int mode); string listaCompleta(); Film* objectFilm(string titolo); }; #endif /* DISTRIBUTORE_HPP */
Per richiamarlo nel main uso:implementato cosģ:codice:distr->~Distributore();
codice:Distributore::~Distributore(){ delete distributore; }

Rispondi quotando