2023-01-24
Max. 20 points
Name:
Task | Max. | Achieved |
---|---|---|
1 | 2 | |
2 | 18 | |
Sum | 20 |
Statement | True | False |
---|---|---|
A C++ struct cannot have private members. | ||
A default constructor is a constructor which can be called with no arguments. |
class Circle
die einen Kreis mit
zwei Koordinaten für den Mittelpunkt und einen Radius repräsentiert.
Die Koordinaten der Kreis-Objekte müssen ohne Einschränkung veränderbar
sein und einen Defaultwert von 0 haben. Stelle sicher, dass der Radius
niemals kleiner als 0 sein kann.
Definiere dazu entsprechende Methoden.
Der Defaultwert des Radius soll 1.0 sein.
Stelle einen default constructor sowie einen constructor mit Argumenten
für die Koordinaten und den Radius zur Verfügung.
Weiters sollen die Funktionen long double area()
und
long double circumference()
implementiert werden, die die Fläche und den Umfang des Kreises zurück
geben. Verwende M_PIl
als Wert für area()
circumference()
const
class Circle {
public:
Circle() = default;
Circle(double x, double y, double radius) : x{x}, y{y} {
this->radius(radius);
}
double x {0.0};
double y {0.0};
double radius() const { return radius_; } // getter;
void radius(double radius) {
if (radius >= 0) { radius_ = radius; return; }
std::cerr << "not allowed to set negative radius" << std::endl;
}
long double area() const { return M_PIl * radius_ * radius_; }
long double circumference() const { 2 * return M_PIl * radius_; }
private:
double radius_ {1.0};
};