All pastes #822634 Raw Edit

Meins

public text v1 · immutable
·published 2007-12-18 21:13 UTC
rendered paste body
// Kreis.cpp

using namespace std;

#include <iostream>
#include <conio.h>
#include <string.h>
#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();
}