Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Extra code in recht.cpp & recht.hpp (nicht notig)

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
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.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.10.2005, 11:19 Uhr
Spacelord
Hoffnungsloser Fall


Oh man....
Und wenn du jetzt die linke untere Ecke haben möchtest schreibst du die Klasse wieder um,oder was?
Im allgemeinen soll ne Klasse ne Schnittstelle bieten die es ermöglicht langfristig vernünftig mit diesem neuen Datentyp zu arbeiten.

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.10.2005, 11:23 Uhr
~BT111
Gast


Ach So, verstehe, danke.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.10.2005, 12:55 Uhr
~BT111
Gast


So sieht das viereck aus :
http://test.holidaysight.de/beispiel/rectangle1.bmp
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: