/* * Programmieren fuer Physiker, SS 2013 * * Klausur, Aufg. 3 */ #include #include using namespace std ; // ---------------- die folgende Klasse war zu programmieren class kreis { private: double x ; double y ; double r ; public: kreis () ; // Konstruktor ohne Argumente (hier nicht benoetigt) kreis (double r_) ; // Konstruktor mit Wertzuweisung void move( double dx, double dy) ; // return-type irrelevant... kreis operator*= (double fac) ; // return-type irrelevant... friend bool enthaelt_ursprung (kreis k) ; } ; kreis::kreis () // unnoetig, nicht verlangt {} kreis::kreis (double r_) { r = r_ ; x = 0; y = 0; } kreis kreis::operator*= (double fac) { r *= fac ; return *this ; // nicht verlangt. kann entfallen! } void kreis::move( double dx, double dy) { x += dx ; y += dy ; } bool enthaelt_ursprung (kreis k) { return (k.r*k.r >= k.x*k.x + k.y*k.y) ; } // ---------------- ab hier gegebenes Hauptprogramm int main() { kreis k1 (4.0) ; // Kreis: mit Radius 4, Mittelpunkt (0,0) k1.move(2.0, 3.0) ; // Mittelpunkt um (2,3) verschieben k1 *= 3.0 ; // Radius mit Faktor multiplizieren if (enthaelt_ursprung(k1)) cout << "Kreis k1 enthaelt den Ursprung" << endl ; }