000
18.11.2006, 18:07 Uhr
~profdock
Gast
|
Hallo alle zusammen, ich habe da ein Problem und weiß nicht wie ich das lösen kann. Vielleicht könnt ihr mir helfen.
Das ist die Klasse in einer Headerdatei:
C++: |
//============================================================================== //--------------------------------KLASSE GEO------------------------------------ //============================================================================== class Geo { private: float Laenge; float Breite; float Hoehe; double Volumen; //double, weil die Multiplikationen zweier Variablen double Flaeche; //mit float eine meist größere Zahl ergeben kann double OFlaeche;
public: //Methoden double Ober(double); //Für die Oberfläche double Wuerfel(float, float, float); //Überladen zweier Funktionen je nach Gebrauch, double Wuerfel(float, float); //wird einer beiden Funktionen aufgerufen. float ZeigHoehe(void); //Mit Hilfe dieser Funktionen kann man float ZeigBreite(void); //die Daten aus der Struktur lesen. float ZeigLaenge(void); //In diesem Fall: Höhe, Breite, Länge
//Konstruktor //Mit diesem Konstuktor kann man in die Geo(float, float, float); //Struktur drei Werte mit float rein schreiben
//Destruktor //Mit diesem Destruktor kann man ein Objekt eliminieren ~Geo(); //und dadurch den Speicherplatz frei geben }; //============================================================================== //-------------------METHODEN + Überladen der Funktion-------------------------- //============================================================================== double Geo::Ober(double Flaeche) { return (Flaeche*6); //Berechnung der Oberfläche } //------------------------------------------------------------------------------ double Geo::Wuerfel(float Laenge, float Breite, float Hoehe) { return (Laenge*Breite*Hoehe); //Berechung des Volumens } //------------------------------------------------------------------------------ double Geo::Wuerfel(float Laenge, float Breite) { return (Laenge*Breite); //Berechnung der Fläche } //------------------------------------------------------------------------------ float Geo::ZeigBreite(void) { return Breite; } //Eine Funktion, die die Breite zurück gibt float Geo::ZeigHoehe(void) { return Hoehe; } //Eine Funktion, die die Höhe zurück gibt float Geo::ZeigLaenge(void) { return Laenge; } //Eine Funktion, die die Länge zurück gibt //============================================================================== //-------------------------------KONSTRUKTOR------------------------------------ //============================================================================== Geo::Geo(float L, float B, float H) { Laenge=L; //Ich weise L auf die Länge, B auf die Breite Breite=B; //und H auf die Höhe zu Hoehe=H; } //============================================================================== //-------------------------------DESTRUKTOR------------------------------------- //============================================================================== Geo::~Geo() {}
|
und das ist das Hauptprogramm:
C++: |
//============================================================================== //-------PROGRAMM ZUR BERECHNUNG DES VOLUMENS UN DER FLÄCHE -------------------- //============================================================================== #include <iostream.h> #include <conio.h> #include <stdlib.h> #include <stdio.h> #include <Quader.h> //============================================================================== //--------------------------BEGiNN DER HAUPTFUNKTION---------------------------- //============================================================================== int main() { int i=0, AnzahlObjekt=0; float Laenge=0.0, Breite=0.0, Hoehe=0.0; bool Entscheidung; Geo* Objekt[30]; //------------------------------------------------------------------------------ do { cout<<"Laenge :"<<endl; cin>>Laenge; cout<<"Breite :"<<endl; cin>>Breite; cout<<"Hoehe :"<<endl; cin>>Hoehe; Objekt[i]=new Geo(Laenge, Breite, Hoehe); //Adresse eines Objektes wird gespeichert i++; cout<<"Wollen Sie noch ein Objekt erzeugen: (Ja=1, Nein=0)"<<endl; cin>>Entscheidung; AnzahlObjekt++; } while (i<30 && Entscheidung==1); //------------------------------------------------------------------------------ for(i=AnzahlObjekt; i=0; i--) { cout<<(i+1)<<". Objekt"<<endl; cout<<"Flaeche: "<<Objekt[i].Wuerfel(Laenge, Breite, Hoehe)<<endl; //Hier ist die FEHLERMELDUNG *********************************** } //------------------------------------------------------------------------------ for(i=0; i<30; i--) {delete Objekt[i];} //alle Rechtecke werden entfernt //------------------------------------------------------------------------------ cout<<"Alle Rechtecke wurden geloescht"<<endl; getch(); return 0; } //------------------------------------------------------------------------------
|
mod edit: BENUTZE DIE CPP TAGS SELBER Dieser Post wurde am 18.11.2006 um 20:50 Uhr von Pablo editiert. |