dyn. Instanzierung + Operatoren



  • Guten Abend liebe Community! Ich zeige euch erstmal mein Program, das in 3x Teile unterteilt ist und dann was ich nicht verstehe, schreibe ich auf.

    #include <iostream.h> 
    #include <conio.h> 
    #include "Spar1Funk_h.h" 
    #include "Spar1Funk.cpp" 
    
    int main() 
    { 
      Sparkonto Sparkonto1;  // Objekt wird erzeugt, Konstruktor wird ohne Übergabeparameter 
                             // automatich aufgerufen und initialisiert...
    
      Sparkonto Sparkonto2("Hans",2500.0,2.0); // Objekt mit Übergabeparametern, gelangen zum 
                                               // definierten Konstruktor (wird aufgerufen)
                                               // und dann wird das Objekt mit den werten initialisiert
    
      Sparkonto1.Einzahlung(500.0);            //
      Sparkonto1.Kontoauszug();                //
      Sparkonto1.Zinsberechnung();             //
                                               // Methoden
      Sparkonto2.Kontoauszug();                //
      Sparkonto2.Zinsberechnung();             //
      getchar();
      return 0;
    }
    
    #ifndef Spar1Funk_h
    #define Spar1Funk_h
    
    class Sparkonto                         // Klasse 
    {
    private:                                
     int Nummer;                            //
     string Kontoinhaber;                   // Datenfelder
     double Kontostand;                     //
     double Habenzinssatz;                  //
    
    public:
    
     //Konstruktor
     Sparkonto();
     Sparkonto(string,double,double);
    
     //Dekonstruktor
     ~Sparkonto();
    
     //Methoden
    
     void Einzahlung(double);                   //
     void Auzahlung(double);                    //
     double Kontostandausgabe();                // Funktionen
     void Kontoauszug();                        //
     void Zinsberechnung();                     //
    
    };
    #endif
    
    Sparkonto::Sparkonto()                //  Standardkonstruktor
    {                                     //  Konstruktor ohne Übergabeparameter
    Kontoinhaber="UNBEKANNT";             //
    Kontostand=0.0;                       //  <-- Methode dazu
    Habenzinssatz=2.0;                    //
    }
    
    Sparkonto::Sparkonto(string KI ,double KS,double HZ)      //
    {                                                         //
    Kontoinhaber=KI;                                          // Irgendwas mit Vereinfachung
    Kontostand=KS;                                            //
    Habenzinssatz=HZ;                                         //
    }
    
    Sparkonto::~Sparkonto()             //
    {                                   // Destruktor
    }                                   //
    
    void Sparkonto::Einzahlung(double E)
    {
    Kontostand=Kontostand+E;
    }
    
    void Sparkonto::Auzahlung(double A)
    {
    Kontostand=Kontostand-A;
    }
    
    double Sparkonto::Kontostandausgabe()
    {
    return Kontostand;
    }
    
    void Sparkonto::Kontoauszug()                      //
    {                                                  //
    cout << "Kontonummer: " << Nummer << endl;         // Ausgabe
    cout << "Kontoinhaber: " << Kontoinhaber << endl;  //
    cout << "Kontostand: " << Kontostand << endl<<endl;      //
    }
    
    void Sparkonto::Zinsberechnung()             // Zinsberechnung
    {                                            //
    Kontostand+=Kontostand*Habenzinssatz/100;    // Kontostand*2.0/100 
    }                                            //
    

    Was ich nun noch machen muss ist:
    - dyn. Instanzierung reinbringen d.h. das ich ueber ein Menue noch mehr Konten eingeben muss .. ich glaube mann muss mit Arrys arbeiten ..

    - und dann soll ich mit New/Delete Operatoren arbeiten ...

    Frage: Kann mir mal wer nen bissl Code zu verfügung stellen weil ich weiß nicht weiter ... danke



  • Wenn du mehr Konten eingeben willst:

    int insert;
    cin>>insert;
    Sparkonto *pSparkonto = new Sparkonto[insert];
    

    die konnten rufst du dann über den Zeiger auf.

    Ich hoffe ich habe deine Frage verstanden, wenn nicht -> ignore ^^



  • Besser, wenn insert noch unsigned ist, da negative Werte für Array-Dimensionen nicht wirklich Sinn machen ( ➡ std::size_t).

    @Lollek
    Ausserdem solltest du mal deinen Code berichtigen. <iostream.h> ist veraltet, aktuell (und richtig) ist <iostream>. Objekte wie cout oder cin findest du dann im Namensraum std. Ausserdem solltest du Initialisierungslisten im ctor verwenden.

    Sparkonto::Sparkonto()                //  Standardkonstruktor
    {                                     //  Konstruktor ohne Übergabeparameter
    Kontoinhaber="UNBEKANNT";             //
    Kontostand=0.0;                       //  <-- Methode dazu
    Habenzinssatz=2.0;                    //
    }
    

    wird dann zu

    Sparkonto::Sparkonto()
        : Kontoinhaber("UNBEKANNT")
        , Kontostand(0.0)
        , Habenzinssatz(2.0)
    {
    }
    

Anmelden zum Antworten