Hilfe Bitte :(
Verfasst: Mo Sep 09, 2013 6:51 pm
Hello Leute..
Über Morgen habe ich eine Prüfung
und ich habe eine muster Prüfung gefunden
und deshalb Ich bitte jemandem um hilfe bitte :/
Die Frage lautet :
Gegeben sei folgende C++ Klasse Shape:
Jede Shape erwartet im Konstruktor eine ID, die in der Methode printDescription()
zur Ausgabe einer Shapebeschreibung verwendet wird. printDescription() verwendet
außerdem noch die Methoden getName() und calculateArea(). getName() liefert den
Namen des Shapetyps, calculateArea() berechnet und liefert die Fläche der Shape. Die
Methode scale(double factor) skaliert die Shape mit dem als Parameter übergebenen
Skalierungsfaktor.
Implementieren Sie eine Klasse Circle, die von der Klasse Shape erbt. Der Radius des
Kreises soll dem Konstruktor als Parameter übergeben werden. Die Methode
calculateArea() berechnet die Fläche des Kreises (r*r*3.141593) und liefert sie
zurück. getName() soll "Circle" returnieren, scale(double factor) multipliziert den
Radius mit dem übergebenen Faktor und überschreibt ihn mit dem Ergebnis. Beachten
Sie, dass der Konstruktor der Basisklasse eine ID erwartet!
Hier eine beispielhafte Verwendung von Circle, die das Verhalten skizzieren soll:
Obiger Code soll bei Verwendung der von Ihnen implementierten Klasse Circle bei
Ausführung "Area of Circle 2: 1256.6372" auf stdout ausgeben.
a) Schreiben Sie die Klassendeklaration für die Klasse Circle
b) Schreiben Sie die Implementierung der Klasse Circle
c) Was bedeutet das "= 0" hinter getName() in Shape.h? Welche Auswirkung
hat das auf die Klasse Shape?
Kann jemand mir helfen bitte?
danke voraus =)
Edit by cloidnerux: code tags eingefügt
Über Morgen habe ich eine Prüfung


Die Frage lautet :
Gegeben sei folgende C++ Klasse Shape:
Code: Alles auswählen
//shape.h
class Shape
{
public:
Shape(int id);
void printDescription();
virtual float calculateArea() = 0;
virtual std::string getName() = 0;
virtual void scale(double factor) = 0;
private:
int _id;
}
Code: Alles auswählen
//shape.cpp
#include "shape.h"
Shape::Shape(int id)
{
_id = id;
}
void Shape::printDescription()
{
std::cout << "Area of " << getName() << << " " << _id << " : " << calculateArea() << std::endl;
}
zur Ausgabe einer Shapebeschreibung verwendet wird. printDescription() verwendet
außerdem noch die Methoden getName() und calculateArea(). getName() liefert den
Namen des Shapetyps, calculateArea() berechnet und liefert die Fläche der Shape. Die
Methode scale(double factor) skaliert die Shape mit dem als Parameter übergebenen
Skalierungsfaktor.
Implementieren Sie eine Klasse Circle, die von der Klasse Shape erbt. Der Radius des
Kreises soll dem Konstruktor als Parameter übergeben werden. Die Methode
calculateArea() berechnet die Fläche des Kreises (r*r*3.141593) und liefert sie
zurück. getName() soll "Circle" returnieren, scale(double factor) multipliziert den
Radius mit dem übergebenen Faktor und überschreibt ihn mit dem Ergebnis. Beachten
Sie, dass der Konstruktor der Basisklasse eine ID erwartet!
Hier eine beispielhafte Verwendung von Circle, die das Verhalten skizzieren soll:
Code: Alles auswählen
// Circle mit ID = 2, Radius = 40 initialisieren
Shape *rect = new Circle(2, 40.0);
// Skaliere den Radius des Kreises mit Faktor 0.5
// Danach ist der Radius gleich 20
rect->scale(0.5);
// Ausgabe der Beschreibung des Kreises
rect->printDescription();
Ausführung "Area of Circle 2: 1256.6372" auf stdout ausgeben.
a) Schreiben Sie die Klassendeklaration für die Klasse Circle
b) Schreiben Sie die Implementierung der Klasse Circle
c) Was bedeutet das "= 0" hinter getName() in Shape.h? Welche Auswirkung
hat das auf die Klasse Shape?
Kann jemand mir helfen bitte?
danke voraus =)
Edit by cloidnerux: code tags eingefügt