000
09.10.2005, 11:10 Uhr
~BT111
Gast
|
Der Autor stellt recht.cpp und recht.hpp wie folgede vor:
C++: |
// Beginn von rect.hpp #include <iostream>
class Point // nimmt X/Y-Koordinaten auf { // Kein Konstruktor, Standardkonstruktor verwenden public: void SetX(int x) { itsX = x; } void SetY(int y) { itsY = y; } int GetX()const { return itsX;} int GetY()const { return itsY;} private: int itsX; int itsY; }; // Ende der Klassendeklaration von Point
class Rectangle { public: Rectangle (int top, int left, int bottom, int right); ~Rectangle () {}
int GetTop() const { return itsTop; } int GetLeft() const { return itsLeft; } int GetBottom() const { return itsBottom; } int GetRight() const { return itsRight; }
Point GetUpperLeft() const { return itsUpperLeft; } Point GetLowerLeft() const { return itsLowerLeft; } Point GetUpperRight() const { return itsUpperRight; } Point GetLowerRight() const { return itsLowerRight; }
void SetUpperLeft(Point Location); void SetLowerLeft(Point Location); void SetUpperRight(Point Location); void SetLowerRight(Point Location);
void SetTop(int top); void SetLeft (int left); void SetBottom (int bottom); void SetRight (int right);
int GetArea() const;
private: Point itsUpperLeft; Point itsUpperRight; Point itsLowerLeft; Point itsLowerRight; int itsTop; int itsLeft; int itsBottom; int itsRight; }; // Ende von Rect.hpp
// Beginn von rect.cpp #include "rect.hpp"
Rectangle::Rectangle(int top, int left, int bottom, int right) { itsTop = top; itsLeft = left; itsBottom = bottom; itsRight = right;
itsUpperLeft.SetX(left); itsUpperLeft.SetY(top);
itsUpperRight.SetX(right); itsUpperRight.SetY(top);
itsLowerLeft.SetX(left); itsLowerLeft.SetY(bottom);
itsLowerRight.SetX(right); itsLowerRight.SetY(bottom); }
void Rectangle::SetUpperLeft(Point Location) { itsUpperLeft = Location; itsUpperRight.SetY(Location.GetY()); itsLowerLeft.SetX(Location.GetX()); itsTop = Location.GetY(); itsLeft = Location.GetX(); }
void Rectangle::SetLowerLeft(Point Location) { itsLowerLeft = Location; itsLowerRight.SetY(Location.GetY()); itsUpperLeft.SetX(Location.GetX()); itsBottom = Location.GetY(); itsLeft = Location.GetX(); }
void Rectangle::SetLowerRight(Point Location) { itsLowerRight = Location; itsLowerLeft.SetY(Location.GetY()); itsUpperRight.SetX(Location.GetX()); itsBottom = Location.GetY(); itsRight = Location.GetX(); }
void Rectangle::SetUpperRight(Point Location) { itsUpperRight = Location; itsUpperLeft.SetY(Location.GetY()); itsLowerRight.SetX(Location.GetX()); itsTop = Location.GetY(); itsRight = Location.GetX(); }
void Rectangle::SetTop(int top) { itsTop = top; itsUpperLeft.SetY(top); itsUpperRight.SetY(top); }
void Rectangle::SetLeft(int left) { itsLeft = left; itsUpperLeft.SetX(left); itsLowerLeft.SetX(left); }
void Rectangle::SetBottom(int bottom) { itsBottom = bottom; itsLowerLeft.SetY(bottom); itsLowerRight.SetY(bottom); }
void Rectangle::SetRight(int right) { itsRight = right; itsUpperRight.SetX(right); itsLowerRight.SetX(right); }
int Rectangle::GetArea() const { int Width = itsRight-itsLeft; int Height = itsTop - itsBottom; return (Width * Height); }
// Rechteckflaeche berechnen. Dazu Ecken bestimmen, // Breite und Höhe ermitteln, dann multiplizieren. int main() { // Eine lokale Rectangle-Variable initialisieren Rectangle MyRectangle (100, 20, 50, 80 );
int Area = MyRectangle.GetArea();
std::cout << "Flaeche: " << Area << "\n"; std::cout << "Obere linke X-Koordinate: "; std::cout << MyRectangle.GetUpperLeft().GetX(); return 0; }
|
Flaeche: 3000 Obere linke X-Koordinate: 20 ((So Sieht Das Ergebnisse Aus))
aber Ich habe gefunden Dass das hauptprogramm main hat mit viele linien in recht.hpp und recht.cpp GAR NICHTS ZU TUN , deswegen habe ich diese extra code gelöscht und habe das programm wieder ausgeführt Ich bekamm nach dem abkürzung die selbe ERGEBNISSE
Hier ist recht.hpp und recht.cpp mit dem abkürzung :
C++: |
// Beginn von rect.hpp #include <iostream>
class Point // nimmt X/Y-Koordinaten auf { // Kein Konstruktor, Standardkonstruktor verwenden public: void SetX(int x) { itsX = x; } void SetY(int y) { itsY = y; } int GetX()const { return itsX;} int GetY()const { return itsY;} private: int itsX; int itsY; }; // Ende der Klassendeklaration von Point
class Rectangle { public: Rectangle (int top, int left, int bottom, int right); ~Rectangle () {}
int GetTop() const { return itsTop; } int GetLeft() const { return itsLeft; } int GetBottom() const { return itsBottom; } int GetRight() const { return itsRight; }
Point GetUpperLeft() const { return itsUpperLeft; }
int GetArea() const;
private: Point itsUpperLeft; Point itsUpperRight; Point itsLowerLeft; Point itsLowerRight; int itsTop; int itsLeft; int itsBottom; int itsRight; }; // Ende von Rect.hpp
// Beginn von rect.cpp #include "rect.hpp"
Rectangle::Rectangle(int top, int left, int bottom, int right) { itsTop = top; itsLeft = left; itsBottom = bottom; itsRight = right;
itsUpperLeft.SetX(left); itsUpperLeft.SetY(top);
itsUpperRight.SetX(right); itsUpperRight.SetY(top);
itsLowerLeft.SetX(left); itsLowerLeft.SetY(bottom);
itsLowerRight.SetX(right); itsLowerRight.SetY(bottom); }
int Rectangle::GetArea() const { int Width = itsRight-itsLeft; int Height = itsTop - itsBottom; return (Width * Height); }
// Rechteckflaeche berechnen. Dazu Ecken bestimmen, // Breite und Höhe ermitteln, dann multiplizieren. int main() { // Eine lokale Rectangle-Variable initialisieren Rectangle MyRectangle (100, 20, 50, 80 );
int Area = MyRectangle.GetArea();
std::cout << "Flaeche: " << Area << "\n"; std::cout << "Obere linke X-Koordinate: "; std::cout << MyRectangle.GetUpperLeft().GetX(); return 0; }
|
Flaeche: 3000 Obere linke X-Koordinate: 20 ((also das selbe ergebnisse wie sie sehen))
Die Frage ist WARUM HAT der AUTOR Diese extra code in recht.hpp und recht.cpp GESCHRIEBEN???
mod edit: Benutze die CPP selber Dieser Post wurde am 09.10.2005 um 15:02 Uhr von Pablo editiert. |