Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Klasse Rechteck sehr kompliziert

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.06.2004, 23:11 Uhr
chrisuni



Habe hier noch eine sehr komplizierte Aufgabe... vllt hat ja einer ne Lösung dazu, ist mein letzter Tag vor der Klausur.. Habe es nur geschafft eine Klasse aufzubauen, kriege ber die Hauptaufgaben nicht hin:

Schreiben Sie eine Klasse Rechteck, die das geometrische Rechteck programmtechnisch realisiert. Ein Rechteck soll definiert werden durch einen Punkt sowie der Höhen und Breitenangabe oder durch 2 Punkte (gegenüberliegende Ecke des Rechtecks). Es solen Funktionen implementiert werden, die den Schnitt 2er Rechtecke (Operator & ) und die Vereinigung zweier Rechtecke (Operator |) berechnen . Die Vereinigung ist das kleinste Rechteck, welches beide umschließt. Ist es sinvoll, diese Funktionen als Methoden zu implementieren? Begründen Sie ihre Antwort.


Bitte helft mir.. schaffe das nicht mehr bis morgen
--
gruß chris

nehmts mir net übel ich bin nen Anfänger und seh manchmal den Wald vor lauter Bäumen nicht mehr ;)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
10.06.2004, 19:54 Uhr
virtual
Sexiest Bit alive
(Operator)


Dein Ansatz?
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
10.06.2004, 20:19 Uhr
chrisuni




C++:
#include <iostream>
#include <conio.h>
using namespace std;

class Punkt {
  int x;
  int y;
public:
  friend ostream & operator << (ostream & o, Punkt p);
  friend class Rechteck;
  Punkt (int x1=0, int y1=0);
  Punkt operator+ (Punkt b);
};

class Rechteck {
  Punkt uli;    // unten links
  Punkt ore;    // oben rechts
public:
  friend ostream & operator << (ostream & o, Rechteck r);
  Rechteck (Punkt p, int breite, int hoehe);
  Rechteck (Punkt p1, Punkt p2);
};





Hab keine Zeit mehr gehabt dafür.... morgen früh ist die Klausur
--
gruß chris

nehmts mir net übel ich bin nen Anfänger und seh manchmal den Wald vor lauter Bäumen nicht mehr ;)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
10.06.2004, 22:11 Uhr
ao

(Operator)



Zitat:
chrisuni postete
Hab keine Zeit mehr gehabt dafür.... morgen früh ist die Klausur

Mach Feierabend und schlaf dich aus. Viel Erfolg morgen!

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.06.2004, 22:16 Uhr
chrisuni



Danke... habs einfach nicht mehr geschafft... verstehe auch vieles noch nicht. Zeit ist einfach zu kurz wenn man so wie ich von ca 0% anfängt in 4 Wochen all diese Dinge hinzubekommen :/

werd mein bestes geben.. werde aber dennoch hier versuchen weiterzumachen... vorausgesetzt ich packe das morgen... hab nur noch eine schriftliche und eine mündliche chance...
wenns klappt... bin ich auf jeden Fall die nächsten Monate fleißig hier dabei, wenn auch vllt in der Java Ecke, denn das steht nächstes Semester an..

Aber nochmal Danke an alle hier das ihr mir so viel geholfen habt, auch wenns manchmal nervig war ^^..

und bis denne
--
gruß chris

nehmts mir net übel ich bin nen Anfänger und seh manchmal den Wald vor lauter Bäumen nicht mehr ;)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
10.06.2004, 23:49 Uhr
0xdeadbeef
Gott
(Operator)


Wenn ich mich nicht vertan habe (ist nur grad so hingekladdet):

C++:
#include <cstdlib>

class point {
private:
  double x, y;
public:
  point(double ix, double iy) : x(ix), y(iy) { }

  double &operator[](unsigned i) {
    if(i == 0) return x;
    if(i == 1) return y;
    throw i;
  }
};

class rectangle {
private:
  point upper_left, lower_right;

public:
  rectangle(const point &ul, const point &lr) : upper_left(ul), lower_right(lr) {}
  rectangle(const point &ul, double width, double height) : upper_left(ul), lower_right(ul) {
    lower_right[0] += width;
    lower_right[1] += height;
  }

  rectangle operator&(const rectangle &r) {
    return rectangle(point(std::min(upper_left [0], r.upper_left [0]),
                           std::min(upper_left [1], r.upper_left [1])),
                     point(std::min(lower_right[0], r.lower_right[0]),
                           std::min(lower_right[1], r.lower_right[1])));
  }

  rectangle operator|(const rectangle &r) {
    return rectangle(point(std::max(upper_left [0], r.upper_left [0]),
                           std::max(upper_left [1], r.upper_left [1])),
                     point(std::max(lower_right[0], r.lower_right[0]),
                           std::max(lower_right[1], r.lower_right[1])));
  }  
};


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 10.06.2004 um 23:53 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
11.06.2004, 00:43 Uhr
(un)wissender
Niveauwart


Ach beefy, der Rückgabewert muss const sein.
--
Wer früher stirbt ist länger tot.
 
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: