hallo,
Ich habe folgendes Problem: Ich möchte Konten-Klassen mit einem Array verwalten.
soll (zB Konto *bank[6]. Ich weiss, dass das mit Polymorphismus zulösen ist aber kenne mich damit überhaupt nicht aus und kann des halb damit nicht viel anfangen. Es wäre super nett, wenn jemand mir dafür Tipps und Hilfestellung leisten könnte. Wenn einem nicht zu viel Arbeit macht, bitte einen Beispiel..
vilene Dank in v******....
Mein Code
C
/*Kontoverwaltungsprogramm*/
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Konto
{
protected:
float kontostand;
public:
Konto()
{
kontostand=0;
};
void einzahlen(float einzahlung)
{
kontostand+=einzahlung;
};
virtual bool darfAuszahlen(float betrag)=0;
void auszahlen(float auszahlung)
{
if(darfAuszahlen(auszahlung))
kontostand-=auszahlung;
else
cout<<"Auszahlung nicht moeglich!\n";
};
virtual void anzeigen()
{
cout<<"Kontostand: "<<kontostand<<endl;
};
virtual void jahresabschluss()=0;
};
class Girokonto:public Konto
{
private:
float ueberziehungsrahmen;
static const float zinssatz;
public:
Girokonto()
{
ueberziehungsrahmen=1000;
};
bool darfAuszahlen(float betrag)//virtual in Konto
{
return betrag<=kontostand+ueberziehungsrahmen;
};
void anzeigen()//virtual in Konto
{
Konto::anzeigen();
cout<<"Ueberziehungsrahmen: "<<ueberziehungsrahmen<<endl;
cout<<"Zinssatz: "<<zinssatz*100<<"%";//<<endl;
};
void jahresabschluss()
{
kontostand-=30;
};
void inhaberUndKontoAnzeigen(string inhaber,Konto *pKto)
{
cout<<"Inhaber: "<<inhaber<<endl;
pKto->anzeigen();
cout<<endl;
};
};
class Sparkonto:public Konto
{
private:
static const float zinssatz;
public:
void anzeigen()//virtual in Konto
{
Konto::anzeigen();
cout<<"Zinssatz: "<<zinssatz*100<<"%";
};
bool darfAuszahlen(float betrag)//virtual in Konto
{
return betrag<=kontostand;
};
void jahresabschluss()
{
kontostand+=kontostand*zinssatz;;
};
void inhaberUndKontoAnzeigen(string inhaber,Konto *pKto)
{
cout<<"Inhaber: "<<inhaber<<endl;
pKto->anzeigen();
cout<<endl;
};
};
const float Sparkonto::zinssatz = 0.1;
const float Girokonto::zinssatz = 0.1;
int main()
{
// static hier nicht mehr angeben
cout<<"Willkommen bei der GELD-Bank!"<<endl<<endl;
cout<<"Ihr Girokonto:"<<endl;
Girokonto g;
g.inhaberUndKontoAnzeigen("Karl",&g);
g.einzahlen(10); //Kontostand +10
g.auszahlen(1500); //eine Auszahlung von 1500 würde den Ueberziehungsrahmen sprengen
g.auszahlen(100); //100 dagegen sind machbar Kontostand: -120
g.jahresabschluss(); //Jahresabschluss: -30 Kontostand: -20
g.anzeigen();
cout<<endl;
cout<<"\nIhr Sparkonto:"<<endl;
Sparkonto s;
s.inhaberUndKontoAnzeigen("TomTom",&s);
s.einzahlen(100);
s.auszahlen(1500);
s.auszahlen(10);
s.jahresabschluss();
s.anzeigen();
system("pause");
return 0;
};
Alles anzeigen
ps: ich wusste nicht wie man den code vernünftig einfügt...