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;
......
}
codice:
class Sezione_generica_type
{
public:
Sezione_generica_type();
~Sezione_generica_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 sezione
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;
}
Può funzionare, oppure un caso del genere è da gestire in modo diverso?
Grazie.