< Vorherige Lektion

Lerneinheit 3: Klasse "cone" erstellen

In dieser Übung erstellen Sie die Klasse "cone". Die Klasse "cone" stellt einen dreidimensionalen Konus dar.
Warum und wann dieser Vorgang ausgeführt wird

In der vorigen Übung haben Sie die visuellen C++-Entwicklungstool verwendet, um die Klassen "circle" und "sphere" zu erweitern. In dieser Übung verwenden Sie die visuellen C++-Entwicklungstools, um dem Projekt die Klasse "cone" hinzuzufügen. Die Klasse "cone", die ihre Eigenschaften von der Klasse "shape3d" erbt, berechnet das Volumen und die Oberfläche auf der Grundlage von Radius und Höhe des Konus und zeigt diese entsprechend an. Sie können die visuellen C++-Entwicklungstools einsetzen, um dem Projekt eine Klasse hinzuzufügen und um einer Klasse ein Attribut hinzuzufügen. Zur Bearbeitung des Hauptteils der Methode klicken Sie die Methode im Diagramm doppelt an und bearbeiten den Quellcode im Codeeditor.

Klasse "cone" dem Projekt ""Shapes"" hinzufügen

Sie können dem Projekt die Klasse hinzufügen, indem Sie die Sicht C/C++ Project Explorer verwenden. Sie können mit dem Assistenten Neue C++-Klasse alle Vererbungsbeziehungen bestimmen.

Gehen Sie wie folgt vor, um dem Projekt "Shapes" die Klasse "cone" hinzuzufügen:

  1. Klicken Sie in der Sicht C/C++ Project Explorer mit der rechten Maustaste auf das Projekt "Shapes". Klicken Sie anschließend auf die Optionen Neu > Klasse.
  2. Geben Sie im Fenster Neue C++-Klasse in das Feld Name den Namen cone ein und klicken Sie auf Durchsuchen.
  3. Klicken Sie im Fenster Basisklasse auswählen in der Liste Übereinstimmende Typen doppelt auf shapes3d.
  4. Erweitern Sie n der Sicht C/C++ Project Explorer die Klasse cone.h, klicken Sie auf das Klassenelement cone und ziehen Sie es in den Diagrammeditor.
Ergebnisse

Sie haben nun dem Projekt ""Shapes"" die Klasse "cone" hinzugefügt. Sie können die visuellen C++-Entwicklungstools verwenden, um der neuen Klasse Klassen und Attribute hinzuzufügen. Das Diagramm sollte ähnlich wie in der folgenden Abbildung aussehen:

Das Projekt ""Shapes"" enthält die neue Klasse "cone".

Der Klasse "cone" die Methoden "getColor" und "setColor" hinzufügen

Die Klasse "cone" implementiert die Methoden "getColor" und "setColor", die die Basis-Shape-Klasse definiert.
Warum und wann dieser Vorgang ausgeführt wird

Gehen Sie wie folgt vor, um der Klasse "cone" die Methoden "getColor" und "setColor" hinzuzufügen:

  1. Klicken Sie im Diagrammeditor im Diagramm classdiagram.dnx mit der rechten Maustaste auf die Klasse cone. Klicken Sie anschließend auf C/C++ hinzufügen > Feld.
  2. Geben Sie im Fenster C++-Feld erstellen in das Feld Name den Namen color ein.
  3. Geben Sie in der Liste Typ den Typ Zeichenfolge ein und klicken Sie auf Fertig stellen.
  4. Klicken Sie im Diagrammeditor im Diagramm classdiagram.dnx mit der rechten Maustaste auf die Klasse cone. Klicken Sie anschließend auf C/C++ hinzufügen > Methode.
  5. Geben Sie im Fenster C++-Methode erstellen in das Feld Name die Angabe getColor ein.
  6. Geben sie in die Liste Rückgabetyp den Typ Zeichenfolge ein und klicken Sie auf Fertig stellen.
  7. Klicken Sie in der Klasse "cone" doppelt auf die Methode getColor und geben Sie im Codeeditor den Hauptteil der Methode "getColor" wie folgt an: {return color;};
  8. Klicken Sie im Diagrammeditor im Diagramm classdiagram.dnx mit der rechten Maustaste auf die Klasse cone. Klicken Sie anschließend auf C/C++ hinzufügen > Methode.
  9. Geben Sie im Fenster C++-Methode erstellen in das Feld Name den Namen setColor ein und klicken Sie auf Fertig stellen.
  10. Klicken Sie in der Klasse "cone" die Methode setColor doppelt an und geben Sie im Codeeditor als Signatur der Methode void setColor(string c) und als Hauptteil der Methode "setColor" {color = c;}; an.
Ergebnisse
Sie haben nun der Klasse "cone" die Methoden "getColor" und "setColor" hinzugefügt.

Der Klasse "cone" die Methoden "getSize" und "setSize" hinzufügen

Die Klasse "cone" implementiert die Methoden "getSize" und "setSize", die die Basis-Shape-Klasse definiert. Das Feld "size" speichert die Höhe des Konus.
Warum und wann dieser Vorgang ausgeführt wird

Gehen Sie wie folgt vor, um der Klasse "cone" die Methoden "getSize" und "setSize" hinzuzufügen:

  1. Klicken Sie im Diagrammeditor im Diagramm classdiagram.dnx mit der rechten Maustaste auf die Klasse cone. Klicken Sie anschließend auf C/C++ hinzufügen > Feld.
  2. Geben Sie im Fenster C++-Feld erstellen in das Feld Name den Namen size ein.
  3. Wählen Sie in der Liste Typ den Typ double aus und klicken Sie auf Fertig stellen.
  4. Klicken Sie im Diagrammeditor im Diagramm classdiagram.dnx mit der rechten Maustaste auf die Klasse cone. Klicken Sie anschließend auf C/C++ hinzufügen > Methode.
  5. Geben Sie im Fenster C++-Methode erstellen in das Feld Name die Angabe getSize ein.
  6. Klicken Sie in der Liste Rückgabetyp den Abwärtspfeil neben void an, wählen Sie den Typ double aus und klicken Sie auf Fertig stellen.
  7. Klicken Sie in der Klasse "cone" doppelt auf die Methode getSize und geben Sie im Codeeditor den Hauptteil der Methode "getSize" wie folgt an: {return size;};
  8. Klicken Sie im Diagrammeditor im Diagramm classdiagram.dnx mit der rechten Maustaste auf die Klasse cone. Klicken Sie anschließend auf C/C++ hinzufügen > Methode.
  9. Geben Sie im Fenster C++-Methode erstellen in das Feld Name den Namen setSize ein und klicken Sie auf Fertig stellen.
  10. Klicken Sie in der Klasse "cone" doppelt auf die Methode setSize und geben Sie im Codeeditor den Hauptteil der Methode setSize wie folgt an: {size = s < 0 ? 0:S;};
Ergebnisse
Sie haben nun der Klasse "cone" die Methoden "getSize" und "setSize" hinzugefügt.

Der Klasse "cone" die Methoden "getRadius" und "setRadius" hinzufügen

Die Klasse "cone" implementiert die Methoden "getRadius" und "setRadius", die die Basis-Shape-Klasse definiert. Im Feld für den Radius wird der Radius des Konus gespeichert. Die Anwendung berechnet anhand des Radius Umfang und Volumen des Konus.
Warum und wann dieser Vorgang ausgeführt wird

Gehen Sie wie folgt vor, um die Methoden "getRadius" und "setRadius" hinzuzufügen:

  1. Klicken Sie im Diagrammeditor mit der rechten Maustaste auf die Klasse cone. Klicken Sie anschließend auf die Optionen C/C++ hinzufügen > Feld.
  2. Geben Sie im Fenster C++-Feld erstellen in das Feld Name den Namen radius ein.
  3. Klicken Sie in der Liste Typ auf den Typ double und klicken Sie auf Fertig stellen.
  4. Klicken Sie im Diagrammeditor im Diagramm classdiagram.dnx mit der rechten Maustaste auf die Klasse cone. Klicken Sie anschließend auf C/C++ hinzufügen > Methode.
  5. Geben Sie im Fenster C++-Methode erstellen in das Feld Name die Angabe getRadius ein.
  6. Wählen Sie in der Liste Rückgabetyp den Eintrag double aus und klicken Sie auf Fertig stellen.
  7. Klicken Sie in der Klasse "cone" doppelt auf die Methode getRadius und geben Sie im Codeeditor den Hauptteil der Methode "getRadius" wie folgt an: {return radius;};
  8. Klicken Sie im Diagrammeditor im Diagramm classdiagram.dnx mit der rechten Maustaste auf die Klasse cone. Klicken Sie anschließend auf C/C++ hinzufügen > Methode.
  9. Geben Sie im Fenster C++-Methode erstellen in das Feld Name den Namen setRadius ein und klicken Sie auf Fertig stellen.
  10. Klicken Sie in der Klasse "cone" doppelt auf die Methode setRadius und geben Sie im Codeeditor den Hauptteil der Methode "setRadius" wie folgt an: {radius = r < 0 ? 0:r;};
Ergebnisse
Sie haben nun der Klasse "cone" die Methoden "getRadius" und "setRadius" hinzugefügt.

Der Klasse "cone" die Methoden "surfaceArea" und "volume" hinzufügen

Die Klasse "cone" implementiert die Methoden "surfaceArea" und "volume", die die Klasse "shapes3d" definiert. Die Formel zur Berechnung der Konusoberfläche lautet πr² + πrs, wobei s=(r2 + h2)1/2. Die Formel zur Berechnung des Konusvolumens lautet 1/3 x πr²h.
Warum und wann dieser Vorgang ausgeführt wird

Gehen Sie wie folgt vor, um der Klasse "cone" die Methoden "surfaceArea" und "volume" hinzuzufügen:

  1. Klicken Sie im Diagrammeditor im Diagramm classdiagram.dnx mit der rechten Maustaste auf die Klasse cone. Klicken Sie anschließend auf C/C++ hinzufügen > Methode.
  2. Geben Sie im Fenster C++-Methode erstellen in das Feld Name die Angabe surfaceArea ein.
  3. Wählen Sie in der Liste Rückgabetyp den Eintrag double aus und klicken Sie auf Fertig stellen.
  4. Klicken Sie in der Klasse "cone" doppelt auf die Methode surfaceArea und geben Sie im Codeeditor den Hauptteil der Methode "surfaceArea" wie folgt an: {return pi * radius * (radius + (pow(pow(radius,2) + pow(size,2),0.5)));};
  5. Klicken Sie im Diagrammeditor im Diagramm classdiagram.dnx mit der rechten Maustaste auf die Klasse cone. Klicken Sie anschließend auf C/C++ hinzufügen > Methode.
  6. Geben Sie im Fenster C++-Methode erstellen in das Feld Name den Namen volume ein und klicken Sie auf Fertig stellen.
  7. Klicken Sie in der Klasse "cone" doppelt auf die Methode volume und geben Sie im Codeeditor den Hauptteil der Methode "volume" wie folgt an: {return 0.333 * pi * (pow(radius,2) * size);};
Ergebnisse
Sie haben nun der Klasse "cone" die Methoden "surfaceArea" und "volume" hinzugefügt.

Der Klasse "cone" die Methoden "set" und "print" hinzufügen

Die Klasse "cone" implementiert die Methoden "set" und "print", die die Basis-Shape-Klasse definiert.
Warum und wann dieser Vorgang ausgeführt wird

Gehen Sie wie folgt vor, um der Klasse "cone" die Methoden "set" und "print" hinzuzufügen:

  1. Klicken Sie im Diagrammeditor im Diagramm classdiagram.dnx mit der rechten Maustaste auf die Klasse cone. Klicken Sie anschließend auf C/C++ hinzufügen > Methode.
  2. Geben Sie im Fenster C++-Methode erstellen in das Feld Name den Namen print ein und klicken Sie auf Fertig stellen.
  3. Klicken Sie in der Klasse "cone" doppelt auf die Methode print und geben Sie den Hauptteil der Methode print wie folgt an:
    { cout  << "Cone:"
    			<< "\n\tLength = " << getSize()
    			<< "\n\tArea   = " << surfaceArea()
    			<< "\n\tVolume = " << volume()
    			<< "\n\tColor  = " << getColor()
    			<< "\n\n";
    };
  4. Klicken Sie im Diagrammeditor im Diagramm classdiagram.dnx mit der rechten Maustaste auf die Klasse cone. Klicken Sie anschließend auf C/C++ hinzufügen > Methode.
  5. Geben Sie im Fenster C++-Methode erstellen in das Feld Name den Namen set ein und klicken Sie auf Fertig stellen.
Ergebnisse
Sie haben nun der Klasse "cone" die Methoden "print" und "set" hinzugefügt.

Datei "cone.cpp" bearbeiten

Die Datei "cone.cpp" enthält die Implementierung der Methode "set" sowie den Konstruktor und den Destruktor. Sie ändern den Hauptteil der Methode "set", um den Benutzer aufzufordern, die Größe und den Radius des Konus anzugeben. Außerdem müssen Sie den Standardkonstruktur so bearbeiten, dass die Anfangswerte der neuen Konusklasse festgelegt werden.
Warum und wann dieser Vorgang ausgeführt wird

Gehen Sie wie folgt vor, um die Datei "cone.cpp" zu bearbeiten:

  1. Klicken Sie in der Sicht C++ Project Explorer doppelt auf die Klasse cone.cpp.
  2. Geben Sie im Codeeditor in der Klasse "cone.cpp" den Hauptteil des Standardkonstruktors wie folgt an: {color="Transparent"; radius=0; size=0;}
  3. Geben Sie im Abschnitt für die Methodendeklaration den Hauptteil der Methode "set" wie folgt an:
    void cone::set()	{
    	double size;
    	double radius;
    	string color;
    	
    	cout << "Geben Sie bitte die Konushöhe ein: ";
    	cin >> size; 
    	setSize(size);
    	
    	cout << "Geben Sie bitte den Radius der Konusgrundfläche ein: ";
    	cin >> radius; 
    	setRadius(radius);
    	
    	cout << "Geben Sie bitte die Farbe des Konus ein: ";
    	cin >> color;
    	setColor(color);
    }
  4. Klicken Sie zum Speichern des Projekts auf Datei > Speichern.
Ergebnisse
Sie haben der Klassendatei "cone.cpp" die Methode "set" hinzugefügt und hiermit das Projekt ""Shapes"" beendet.

Erweiterte Anwendung ausführen

Bevor Sie die Anwendung ausführen können, müssen Sie der Klasse "main.cpp" die Anweisung "include" hinzufügen, damit die neue Klasse "cone" aufgenommen wird. Sie können die Anwendung ausführen und eine Instanz der neuen Klasse "cone" erstellen, indem Sie die Klasse "main.cpp" ändern.
Warum und wann dieser Vorgang ausgeführt wird

Gehen Sie wie folgt vor, um die Anwendung auszuführen:

  1. Klicken Sie in der Sicht C++ Project Explorer doppelt auf die Klasse main.cpp.
  2. Fügen Sie im Deklarationsabschnitt unterhalb von #include "tetrahedron.h" die folgende include-Anweisung hinzu: #include "cone.h"
  3. Fügen Sie im Codeeditor in den Hauptteil der Klasse den folgenden Code hinzu:
    //instantiate and run the cone class 
    		cone c;
    		c.print();
    		c.set();
    		c.print();
  4. Klicken Sie zum Speichern und zum Erstellen des Projekts auf die Optionen Datei > Speichern.
  5. Klicken Sie auf Ausführen.
Ergebnisse
Das Programm zeigt Größe, Farbe, Oberfläche und Volumen des Konus an und fordert Sie auf, Werte für die neue Instanz des Konus anzugeben.
< Vorherige Lektion

Rückmeldung