In questo esercizio, verrà creata la classe cone mediante l'editor visivo. La classe cone rappresenta un cono a 3 dimensioni.
Nell'esercizio precedente, sono stati utilizzati gli strumenti di modellamento UML per estendere le classi circle e sphere. In questo esercizio, gli strumenti di modellamento UML vengono utilizzati per aggiungere la classe cone al progetto. La classe cone, che eredita dalla classe shape3d, calcola e visualizza il volume e l'area di superficie in base al raggio ed all'altezza del cono. E' possibile utilizzare gli strumenti di modellamento UML per aggiungere una classe al progetto e per aggiungere un attributo ad una classe. Per modificare il corpo del metodo, fare doppio clic sul metodo nel diagramma e modificare il codice origine dell'editor del codice.
E' possibile aggiungere la classe al progetto utilizzando la vista Esplora progetti C/C++. E' possibile identificare le relazioni di ereditarietà utilizzando la procedura guidata Nuova classe C++.
La classe cone è stata aggiunta al progetto Shapes. E' ora possibile utilizzare gli strumenti di modellamento UML per aggiungere classi ed attributi alla nuova classe. Il diagramma dovrebbe essere simile alla seguente illustrazione:
La classe cone implementa i metodi getColor e setColor definiti dalla classe shape di base.
I metodi getColor e setColor sono stati aggiunti alla classe cone.
La classe cone implementa i metodi getSize e setSize definiti dalla classe shape di base. Il campo size memorizza l'altezza del cono.
I metodi getSize e setSize sono stati aggiunti alla classe cone.
La classe cone implementa i metodi getRadius e setRadius definiti dalla classe shape di base. Il campo radius memorizza il raggio della base del cono. L'applicazione utilizza il raggio per calcolare la circonferenza ed il volume del cono.
I metodi getRadius e setRadius sono stati aggiunti alla classe cone.
La classe cone implementa i metodi surfacearea e volume definiti dalla classe shapes3d. La formula utilizzata per calcolare l'area di superficie di un cono è pi * r * (r + (r2 + h2)1/2). La formula per calcolare il volume di un cono è 1/3 x pi x r2 h.
I metodi surfaceArea e volume sono stati aggiunti alla classe cone.
La classe cone implementa i metodi set e print definiti dalla classe shape di base.
{ cout << "Cone:" << "\n\tLength = " << getSize() << "\n\tArea = " << surfaceArea() << "\n\tVolume = " << volume() << "\n\tColor = " << getColor() << "\n\n"; };
I metodi print e set sono stati aggiunti alla classe cone.
Il file di classe cone.cpp contiene l'implementazione del metodo set ed il costruttore ed il decostruttore. Il corpo del metodo set viene modificato per richiedere all'utente di immettere le dimensioni ed il raggio del cono. Inoltre, è necessario modificare il costruttore predefinito per impostare i valori iniziali della nuova classe cone.
void cone::set() { double size; double radius; string color; cout << "Immettere l'altezza del cono: "; cin >> size; setSize(size); cout << "Immettere il raggio della base del cono:"; cin >> radius; setRadius(radius); cout << "Immettere il colore del cono: "; cin >> color; setColor(color); }
Il progetto Shapes è stato completato aggiungendo il metodo set al file di classe cone.cpp.
Prima di poter eseguire l'applicazione, è necessario aggiungere l'istruzione include nella classe main.cpp, in modo da includere la nuova classe cone. E' possibile eseguire l'applicazione e creare un'istanza della nuova classe cone modificando il file main.cpp.
//creare un'istanza ed eseguire la classe cone cone c; c.print(); c.set(); c.print();
Il programma visualizza le dimensioni, il colore, l'area della superficie ed il volume del cono e richiede di specificare i valori per la nuova istanza del cono.