// Kreis.cpp using namespace std; #include #include #include #include "Kreis.hpp" // Konstruktoren (ueberladen) Kreis::Kreis(Grafik* gk,float a,float b,float r) { x=a; y=b; radius=r; flaeche=3.1415*radius*radius; this->gk=gk; } Kreis::Kreis(Grafik* gk) // Standardkonstruktor { x=y=200; radius=50; flaeche=3.1415*radius*radius; this->gk=gk; } //////////////////////////////////////////////////// // Destruktor Kreis::~Kreis() { } //___ Methoden________________________________________________ void Kreis::ausgeben() { flaeche=3.1415*radius*radius; cout << "Kreis: M(" << x << '|' << y << ") mit Radius " << radius << " und Flaeche " << flaeche << endl; } float Kreis::gibFlaeche() // liefert als Ergebnis den Wert des Attributs flaeche { return flaeche; } void Kreis::setzeRadius(float r) { radius=r; flaeche=3.1415*radius*radius; } float Kreis::gibRadius() { return radius; } void Kreis::zeichnen() { gk->zeichnenKreis(x,y,radius); } void Kreis::zeichnen(int farbe) { int alteZF=gk->aendernZeichenfarbe(farbe); gk->zeichnenKreis(x,y,radius); gk->setzenZeichenfarbe(alteZF); } void Kreis::verschiebenUm(int dx,int dy) { int alteHF=gk->aendernZeichenfarbe(gk->gibHintergrundfarbe()); zeichnen(); x+=dx; y+=dy; gk->setzenZeichenfarbe(alteHF); zeichnen(); } void Kreis::zoomen(float faktor) { int alteHF=gk->aendernZeichenfarbe(gk->gibHintergrundfarbe()); zeichnen(); radius*=faktor; gk->setzenZeichenfarbe(alteHF); zeichnen(); }