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) { }