Il problema è il seguente:
mi serve creare un oggetto che mi permetta di gestire la sezione e relative caratteristiche di elementi.
Per iniziare diciamo che avrò a che fare con tre tipi di sezioni, che poi aumenteranno: sezione rettangolare, circolare, generica.
Durante l'esecuzione del programma, l'utente potrebbe decidere di variare la sezione, passando ad esempio da sezione rettangolare a sezione circolare.
Pensavo di gestire la cosa così:
1) Creo una classe per ciascun tipo di sezione
codice:class Sezione_rettangolare_type { public: Sezione_rettangolare_type(); ~Sezione_rettangolare_type(); void calcola_area(); void calcola_perimetro(); protected: double area; double perimetro; ...... }codice:class Sezione_circolare_type { public: Sezione_circolare_type(); ~Sezione_circolare_type(); void calcola_area(); void calcola_perimetro(); protected: double area; double perimetro; ...... }2) Creo una classe che mi permetta di gestire i diversi tipi di sezionecodice:class Sezione_generica_type { public: Sezione_generica_type(); ~Sezione_generica_type(); void calcola_area(); void calcola_perimetro(); protected: double area; double perimetro; ...... }
Può funzionare, oppure un caso del genere è da gestire in modo diverso?codice:class Sezione_type { public: Sezione_type(int tipo_sez); ~Sezione_type(); void cambia_sezione(int tipo_vecchio, int tipo_nuovo); protected: Sezione_generica_type *sezgenerica; Sezione_rettangolare_type *sezrettangolare; Sezione_circolare_type *sezcircolare; int tipo_sezione; }
Grazie.

Rispondi quotando