Si realizzino due versioni della classe Vettore seguente: la prima adatta alla classe Complesso, la seconda adatta alla classe Record. Per ciascuna di queste classi, si realizzi la versione con campi puntatore (per Complesso saranno float *re, float *im mentre per Record saranno char* nome, char* cognome) e si verifichi il corretto funzionamento della classe Vettore in ogni caso. class Vettore{ Complesso *p; // La seconda versione dovrà far uso della classe Record. int sizeV, dimAttuale, inc; public: Vettore(); Vettore(int dimIniziale, int inc); Vettore (const Vettore &v); ~Vettore(); int size(); void add(Complesso c); Complesso get(int i); // Metodo per la stampa degli elementi del vettore void stampa(); // Metodo per l'assegnazione di due vettori Vettore operator=(Vettore v); }; Con la classe Complesso realizzata nei modi seguente: class Complesso{ float re; float im; public: // Tutti i metodi necessari }; class Complesso{ float *re; float *im; public: // Tutti i metodi necessari }; Con la classe Record realizzata nei modi seguenti: #define MAX_LEN 1000 class Record{ char nome[MAX_LEN]; char cognome[MAX_LEN]; public: // Tutti i metodi necessari }; class Record{ char *nome; char *cognome; public: // Tutti i metodi necessari };