005
22.06.2003, 19:05 Uhr
~Anfänger00
Gast
|
Vielleicht poste ich zum besseren Verständnis den gesmten Qellcode:
.h
C++: |
class Test { public: Test( double, double); ~Test(); void setze_daten( double, double); void setze_seiten( double, double); void zeige_daten(); private: double x,y; double laenge; Test operator*(Test(double,double)); };
|
Funktionen
C++: |
#include <iostream.h> #include "ctest.h"
Test::Test( double punkt1, double punkt2) //Konstruktor { setze_daten(punkt1,punkt2); laenge = 0; };
Test::~Test() // Destruktor { cout<<" Das Objekt wurde geloescht!\n"; };
void Test::setze_daten( double x2, double y2) // Setzt x/y Wert { x = x2; y = y2; }; void Test::setze_seiten( double koordA, double koordB) // Strecke wird berechnet { if(x==koordA) { if(koordB<y) laenge = y - koordB; else laenge = koordB - y; }
if(y==koordB) { if(koordA<x) laenge = x - koordA; else laenge = koordA - x; } else laenge = sqrt((y-koordB)*(y-koordB)+(x-koordA)*(x-koordA)); /* koordB = y2 koordA = x2; Formel = Wurzel(sqrt) von ((y1-y2)²+(x1-x2)²) */ };
void Test::zeige_daten() // zeigt Informationen des Objekts { cout << " x Koordinate: "<<x<<"\n y Koordinate: "<<y<<endl; cout << " Laenge: "<<laenge<<endl; }; Test Test::operator*(Test Objekt(double x2,double y2)) //soll die Strecken { //der festgelegten Test ergebnis(x2,y2); //Punkte berechnen ergebnis.setze_seiten(x2,y2); return ergebnis; };
|
main
C++: |
#include "ctest.h" #include <iostream.h> int main() { Test* Objekt[30]; int anzahl=0,a=0,punkt1,punkt2; double x,y; char exit[2],weiter[2];
do{ // Punkte festlegen a++; cout << " Geben sie die Koordinaten von Punkt "<<a<<" ein: \n x: "; cin >> x; cout << " y: "; cin >> y; Objekt[anzahl]= new Test(x,y); anzahl++; cout << " Naechster Punkt?(j\\n): "; cin >> weiter; } while(strcmp(weiter,"j")==0 && anzahl<30);
cout<< " 2 Punkte verbinden: \n"; cout<< " 1: "; cin>>punkt1; cout<< " 2: "; cin>>punkt2; // Punkte werden "verbunden" d.h Objekt[punkt1]-> *(Objekt[punkt2]);// die Länge wird berechnet for(int i=0;i<30 && i<anzahl;i++) //löscht die Objekte { delete Objekt[i]; }
cout<< " Beenden(b): "; // Wartet [getchar() geht im dev-c++ compiler nicht] cin>>exit; if (exit=="b") return 0; else return 0; }
|
|