/* * Programmieren fuer Physiker, SS 2010 * * Klausur, Aufg. 4 */ #include using namespace std ; // ---------------- die folgende Klasse war zu programmieren class rechteck { private: double hoehe ; double breite ; public: // Konstruktor rechteck(double h_, double b_) { hoehe = h_ ; breite = b_ ; }; void operator*= (double scal) { hoehe *= scal ; breite *= scal ; } bool bedeckt(rechteck r2) { if (hoehe < r2.hoehe) return false ; if (breite < r2.breite) return false ; return true ; // Kurzfassung: return (hoehe>=r2.hoehe and breite>=r2.breite) } friend double flaeche(rechteck r) ; } ; double flaeche(rechteck r) { return r.hoehe*r.breite ; } // ---------------- ab hier gegebenes Hauptprogramm int main() { rechteck r1(1.7,2) ; // Rechteck mit Breite, Höhe vereinbaren rechteck r2(3,3.5) ; // ... und noch eines r1 *= 2 ; // beide Längen des Rechtecks-Arguments skalieren // dabei wird r1 selbst veraendert if (r1.bedeckt(r2)) cout << "Rechteck 1 kann Rechteck 2 vollst. ueberdecken" << endl ; cout << "Die Flaeche von Rechteck 1 ist " << flaeche(r1) << endl ; }