insieme.h
questa è la classe base (virtuale)codice:#ifndef insieme_h #define insieme_h #include<iostream> #include<stdlib.h> using namespace std; template<class tipoelem> class insieme { public: virtual void creainsieme() = 0; virtual bool insiemevuoto() = 0; virtual bool appartiene(tipoelem) = 0; virtual void inserisci(tipoelem) = 0; virtual void cancella(tipoelem) = 0; //virtual void unione(insieme<tipoelem> *, insieme<tipoelem> *) = 0; //virtual void intersezione(insieme<tipoelem> *, insieme<tipoelem> *) = 0; //virtual void differenza(insieme<tipoelem> *, insieme<tipoelem> *) = 0; void test(); }; #endif template<class tipoelem> void insieme<tipoelem>::test() { cout << " ***test del metodo CREAINSIEME***\n\n"; cout << "il metodo CREAINSIEME crea un insieme privo di elementi. per provare il metodo\n"; cout << "basta utilizzare il metodo INSIEMEVUOTO.\n\n"; cout << " insiemevuoto() = " << this->insiemevuoto() << "\n\n"; system("pause"); system("cls"); cout << " ***test del metodo INSIEMEVUOTO***\n\n"; cout << "il metodo INSIEMEVUOTO testa se l'insieme e' privo o meno di elementi.\n\n"; cout << " test del metodo su insieme privo di elementi:\n"; cout << " insiemevuoto() = " << this->insiemevuoto() << "\n"; cout << " test del metodo su insieme con almeno un elemento:\n"; cout << " inserimento di un valore nell'insieme: a = "; tipoelem a; cin >> a; this->inserisci(a); cout << " insiemevuoto() = " << this->insiemevuoto() << "\n\n"; system("pause"); system("cls"); cout << " ***test del metodo APPARTIENE***\n\n"; cout << "il metodo APPARTIENE testa se il valore fornito come argomento e' presente\n"; cout << "o meno tra i valori dell'insieme.\n\n"; cout << " test con esito positivo:\n"; cout << " appartiene(a) = " << this->appartiene(a) << "\n"; cout << " test con esito negativo:\n"; cout << " b = "; tipoelem b; cin >> b; cout << " appartiene(b) = " << this->appartiene(b) << "\n\n"; system("pause"); system("cls"); cout << "i metodi UNIONE, INTERSEZIONE e DIFFERENZA non vengono testati in quanto\n"; cout << "essendo questa una class virtuale, non è possibile instanziare oggetti\n"; cout << "insieme, ma bisognerebbe fornire i puntatori a insieme da un main.\n\n"; system("pause"); }

Rispondi quotando