*Bankkonto*: Verweis auf ein Objekt anderer Klasse richtig übergeben? Keine Ausgabe!



  • @Suprax
    Unter Berücksichtigung der Probleme, die SeppJ aufgezeigt hat, wäre es besser, wenn jede Person einen eindeutigen Schlüssel hätte, zB eine laufende Nummer.
    Diesen Schlüssel kann man dann im Bankkonto als Verweis auf die Person speichern.
    Wenn man jetzt auf die Person, die zu einem Konto gehört, zugreifen will, muss man alle Personen nach diesem Schlüssel durchsuchen.
    Wenn man so vorgeht, kann man den Personenvektor auch erweitern, oder Personen darin entfernen (entfernen natürlich nur, wenn sie nicht zu einem Konto gehören), ohne dass Probleme entstehen.

    Da bietet sich schon fast eine map <int, Person> an ...


  • Mod

    Ein Vector hat sowieso immer einen Index. Das ist sogar seine definierende Eigenschaft. Vergiss einfach alle Zeiger, speicher dir eine Zahl im Account, die auf eine Person in der Personenliste verweist.

    Ich stelle fest, dass dieses ganze Design und seine Probleme ziemlich ähnlich zu dem ist, was du das letzte Mal mit deiner Videothek hattest. Da hatte ich auch schon ein bisschen rumphilosophiert, dass das eigentlich nicht der Weisheit letzter Schluss sein kann. Siehe zum Beispiel Bellis naheliegende Verbesserung über meinem Beitrag.
    Kurz: Das ganze objektorientierte Design ist bei dir noch etwas holperig (aber sichtbar bemüht). Wie lernst du?



  • Hallo @Suprax,

    ich gebe dir (unabhängig von deinem Problem) noch einen Rat zum Naming.

    Und zwar hast du im Code:

    private:
        vector<Person> person;
        vector<Account> account;
    
    public:
        vector<Person> get_person() const;
        vector<Account> get_account() const;
    

    Du sprichst selbst auch vom "Vektor <Personen>". Schau dir mal an, was Singular und was Plural ist. Das mag jetzt vielleicht kleinlich erscheinen, erleichtert aber das Lesen des Codes.

    Dein vector<Person> person; sollte besser vector<Person> personen; (oder persons) heißen, dein vector<Account> account; sollte besser vector<Account> accounts; heißen.

    Analog dazu erwartet man, dass get_person() genau EINE Person zurückgibt, nicht einen Vektor. Das wäre eher get_persons() (ggf. wäre da die Rückgabe per const& sinnvoller).

    Das geht auch mit anderen Funktionen so weiter, print_person gibt nicht eine Person aus, sondern mehrere, sollte also print_persons heißen. Von der Frage, ob es wirklich zur Aufgabe einer Bank gehört, Personen anzulegen, Personen auszugeben etc., mal ganz abgesehen. Also noch ein Rat: tu nicht zu viel in eine Klasse rein!



  • @Belli sagte in *Bankkonto*: Verweis auf ein Objekt anderer Klasse richtig übergeben? Keine Ausgabe!:

    @Suprax
    Unter Berücksichtigung der Probleme, die SeppJ aufgezeigt hat, wäre es besser, wenn jede Person einen eindeutigen Schlüssel hätte, zB eine laufende Nummer.
    Diesen Schlüssel kann man dann im Bankkonto als Verweis auf die Person speichern.
    Wenn man jetzt auf die Person, die zu einem Konto gehört, zugreifen will, muss man alle Personen nach diesem Schlüssel durchsuchen.
    Wenn man so vorgeht, kann man den Personenvektor auch erweitern, oder Personen darin entfernen (entfernen natürlich nur, wenn sie nicht zu einem Konto gehören), ohne dass Probleme entstehen.

    Da bietet sich schon fast eine map <int, Person> an ...

    Ich schau mir mal die ``` map ````-Funktion an, gearbeitet habe ich noch nicht damit.

    @SeppJ sagte in *Bankkonto*: Verweis auf ein Objekt anderer Klasse richtig übergeben? Keine Ausgabe!:

    Ein Vector hat sowieso immer einen Index. Das ist sogar seine definierende Eigenschaft. Vergiss einfach alle Zeiger, speicher dir eine Zahl im Account, die auf eine Person in der Personenliste verweist.

    Ich stelle fest, dass dieses ganze Design und seine Probleme ziemlich ähnlich zu dem ist, was du das letzte Mal mit deiner Videothek hattest. Da hatte ich auch schon ein bisschen rumphilosophiert, dass das eigentlich nicht der Weisheit letzter Schluss sein kann. Siehe zum Beispiel Bellis naheliegende Verbesserung über meinem Beitrag.
    Kurz: Das ganze objektorientierte Design ist bei dir noch etwas holperig (aber sichtbar bemüht). Wie lernst du?

    Ja, ich stehe noch relativ am Anfang, bzw. im ersten Semester und muss mir das einverleihen. Ich lerne mit Bjarne Stroustrup "Einführung in die Programmierung mit C++" und mit Kommilitonen, die mir ab und an helfen.
    Ich versuch mich da ranzuhalten, es macht mir ja auch Spaß Erfolge zu feiern. Nur dann gibts halt solche Momente, wo ich noch einfach nicht selber voran komme.

    Bzgl. der Zahl, die ich speichern soll: Ich arbeite ja mit Altklausuren und da habe ich meine Vorgaben bzgl. der Parameter und Methoden. Ganz Freihand habe ich da nicht und dein Vorschlag mit dem Speichern einer Zahl, die auf eine Person verweist, muss dem Konstruktor mitgegeben werden...wenn ich mich nicht irre. Die Vorgaben des Konstruktors dürfte ich z.b. nicht ändern.

    @wob Ja, mache ich. In Zukunft setze ich das so um.



  • Die Signatur des Konstruktors selbst müsstest Du ja gar nicht ändern.
    Wenn die Person einen Schlüssel hat, nimmst Du den im Account-Konstruktor aus der übergebenen Person und speicherst ihn ...
    Aber vielleicht ist Dir das alles noch zu kompliziert ...
    Ich habe sowieso das Gefühl, dass Du zu viel für Deinen Kenntnisstand willst?

    Edit:
    Noch besser wäre es vom Design, wenn Dein Account gar nicht wüsste, dass es Personen gibt.
    Wenn sowohl jede Person als auch jeder Account einen eindeutigen Schlüssel hat, kann man eine weitere Datenstruktur einführen, die die beiden zusammenbringt, dann hättest Du ein Datenbankähnliches Design, das sehr flexibel ist, zB könnte dann eine Person ganz easy mehrere Konten haben ...
    Person
    {
    int schluessel;
    weitere Personendaten ...
    }
    Account
    {
    int schluessel;
    string Kontonr;
    evtl. weitere Kontodaten ...
    }

    Kontoinhaber
    {
    int Personenschluessel;
    int Accountschluessel;
    }

    vector<Person> ...
    vector<Account> ...
    vector<Kontoinhaber> ...



  • @Belli das vermute ich auch. Ich muss Step-by-Step mir das erarbeiten, aber das habe ich ja am Anfang meines Threads erwähnt. Ich möchte diesen Code so simple wie möglich halten. In der Klausur ist dieser Stil des Codes schon vom Niveau her gut genug, dass ich damit mit sehr guter Note durchkomme. Fehlt nur noch die Logik gewisse Methoden auch umgesetzt zu bekommen.
    Ich denke das Niveau sehr gut zu coden kommt im Laufe des Studiums - natürlich mit viel Zeitaufwand, Geduld und Übung.



  • Nach meiner Logik her, würde ich Personen und Accounts in getrennten Klasse verwalten. Das eine hat mit dem anderen ja prinzipiell nichts zu tun bzw. Funktionen der Account-Klasse ändern nie Personendaten, sondern fragen sie höchstens ab.

    D.h. ich würde ich eine Klasse für die Personen machen, mit den notwendigen Funktionen ( erzeugen, löschen, abfragen ):

    class Personenverwaltung
    {
    public:
        Personenverwaltung();
        ~Personenverwaltung();
    
       void createPerson( const std::string &vorname, const std::string &nachname );
       void removePerson( const std::string &vorname, const std::string &nachname );
       bool personBekanntName( const std::string &vorname, const std::string &nachname ) const;
       bool personBekanntId( unsigned personenid ) const;
       // ..... etc.
    };
    

    Und dann eine Klasse Kontenverwaltung

    class Kontenverwaltung
    {
    public:
        Kontenverwaltung( const Personenverwaltung & );
        ~Kontenverwaltung();
        
        void createAccount( const std::string &vorname, const std::string &nachname );
        void removeAccount( const std::string &vorname, const std::string &nachname );
    };
    

    Die Kontenverwaltung kennt somit alle Personen, kann aber lediglich Informationen zu den Personen abfragen und nichts ändern. Somit sind die eigentlichen Banking-Funktionalitäten sauber getrennt von den Personendaten.

    Nur als genereller Vorschlag von mir.



  • Und noch ein anderer genereller Fehler ist in der Programm-Logik:

    void Bank::menu() {
    
        Bank bank1;
    

    Um diese Funktion aufzurufen, mußt du doch schon ein Bank-Objekt anlegen, erzeugst dann aber ein weiteres lokales Bank-Objekt bank1, für das du die weiteren Funktionen aufrufst, so daß nach Verlassen dieser menu-Funktion alle Daten verworfen sind!
    Die menu-Funktion gehört auch nicht in die Bank-Klasse, sondern sollte eigenständig sein (Klassen der Logik-Schicht sollten keine direkte Ein- oder Ausgabe besitzen).



  • @Th69 sagte in *Bankkonto*: Verweis auf ein Objekt anderer Klasse richtig übergeben? Keine Ausgabe!:

    Und noch ein anderer genereller Fehler ist in der Programm-Logik:

    void Bank::menu() {
    
        Bank bank1;
    

    Um diese Funktion aufzurufen, mußt du doch schon ein Bank-Objekt anlegen, erzeugst dann aber ein weiteres lokales Bank-Objekt bank1, für das du die weiteren Funktionen aufrufst, so daß nach Verlassen dieser menu-Funktion alle Daten verworfen sind!
    Die menu-Funktion gehört auch nicht in die Bank-Klasse, sondern sollte eigenständig sein (Klassen der Logik-Schicht sollten keine direkte Ein- oder Ausgabe besitzen).

    Nein, die menu-Funktion soll in der Klasse drinne sein. Das ist vorgegeben.
    Das Bank-Objekt lege ich mit Beginn der menu-Funktion an, damit dort im Prozess der Benutzereingabe sämtliche Daten dort gespeichert werden.

    @It0101 sagte in *Bankkonto*: Verweis auf ein Objekt anderer Klasse richtig übergeben? Keine Ausgabe!:

    Nach meiner Logik her, würde ich Personen und Accounts in getrennten Klasse verwalten. Das eine hat mit dem anderen ja prinzipiell nichts zu tun bzw. Funktionen der Account-Klasse ändern nie Personendaten, sondern fragen sie höchstens ab.

    D.h. ich würde ich eine Klasse für die Personen machen, mit den notwendigen Funktionen ( erzeugen, löschen, abfragen ):

    class Personenverwaltung
    {
    public:
        Personenverwaltung();
        ~Personenverwaltung();
    
       void createPerson( const std::string &vorname, const std::string &nachname );
       void removePerson( const std::string &vorname, const std::string &nachname );
       bool personBekanntName( const std::string &vorname, const std::string &nachname ) const;
       bool personBekanntId( unsigned personenid ) const;
       // ..... etc.
    };
    

    Und dann eine Klasse Kontenverwaltung

    class Kontenverwaltung
    {
    public:
        Kontenverwaltung( const Personenverwaltung & );
        ~Kontenverwaltung();
        
        void createAccount( const std::string &vorname, const std::string &nachname );
        void removeAccount( const std::string &vorname, const std::string &nachname );
    };
    

    Die Kontenverwaltung kennt somit alle Personen, kann aber lediglich Informationen zu den Personen abfragen und nichts ändern. Somit sind die eigentlichen Banking-Funktionalitäten sauber getrennt von den Personendaten.

    Nur als genereller Vorschlag von mir.

    Personen, Accounts und Bank sind in jeweils getrennten Klassen


  • Mod

    @Suprax sagte in *Bankkonto*: Verweis auf ein Objekt anderer Klasse richtig übergeben? Keine Ausgabe!:

    Nein, die menu-Funktion soll in der Klasse drinne sein. Das ist vorgegeben.

    Das ist trotzdem schlechtes Design und es sollte dein Bestreben sein, es korrekt zu machen. Die Klassen sollten der Wirklichkeit folgen, sonst bekommst du später komische Effekte (Oder auch jetzt sofort, denn dein Fragen sind Folgen von mittelmäßigem Design). Echte Banken haben Menüs höchsten in der Kantine. Banken haben auch keine Computerschnittstelle zum Bedienen einer Bankingsimulation. Banken haben keine Personen, sondern ein Personenverzeichnis. Wer aber Personen und Banken und eine Computerschnittstelle zur Bankingsimulation hat, wäre beispielsweise ein Bankingsimulator. Das sollte eine Klasse bei dir sein, in deren Instanzen dann Banken und Personen existieren, deren Zusammenspiel über die Schnittstelle gesteuert wird.

    Das Bank-Objekt lege ich mit Beginn der menu-Funktion an, damit dort im Prozess der Benutzereingabe sämtliche Daten dort gespeichert werden.

    Du hast das Problem gar nicht verstanden. Die menu-Funktion ist bei dir schon Teil einer Bank. Du hast ein Bank in deiner Bank erzeugt.



  • Ich bin mittlerweile voran gekommen und fast fertig.
    Allerdings muss ich jetzt die Buchungen, die der Benutzer tätigen kann, zeitlich ordnen.
    Die Zeitangabe, wann die Buchungen statt finden, entscheidet der Benutzer selbst.
    Habt ihr eine Idee wie ich die am besten sortiert bekomme?

    @SeppJ sagte in *Bankkonto*: Verweis auf ein Objekt anderer Klasse richtig übergeben? Keine Ausgabe!:

    @Suprax sagte in *Bankkonto*: Verweis auf ein Objekt anderer Klasse richtig übergeben? Keine Ausgabe!:

    Nein, die menu-Funktion soll in der Klasse drinne sein. Das ist vorgegeben.

    Das ist trotzdem schlechtes Design und es sollte dein Bestreben sein, es korrekt zu machen. Die Klassen sollten der Wirklichkeit folgen, sonst bekommst du später komische Effekte (Oder auch jetzt sofort, denn dein Fragen sind Folgen von mittelmäßigem Design). Echte Banken haben Menüs höchsten in der Kantine. Banken haben auch keine Computerschnittstelle zum Bedienen einer Bankingsimulation. Banken haben keine Personen, sondern ein Personenverzeichnis. Wer aber Personen und Banken und eine Computerschnittstelle zur Bankingsimulation hat, wäre beispielsweise ein Bankingsimulator. Das sollte eine Klasse bei dir sein, in deren Instanzen dann Banken und Personen existieren, deren Zusammenspiel über die Schnittstelle gesteuert wird.

    Das Bank-Objekt lege ich mit Beginn der menu-Funktion an, damit dort im Prozess der Benutzereingabe sämtliche Daten dort gespeichert werden.

    Du hast das Problem gar nicht verstanden. Die menu-Funktion ist bei dir schon Teil einer Bank. Du hast ein Bank in deiner Bank erzeugt.

    @SeppJ Ich kann da leider bzgl. der menu-Funktion nichts machen. Sie muss so implementiert werden, wie es vorgegeben wurde. Ich bin nicht der Prof 😃

    Du hast das Problem gar nicht verstanden. Die menu-Funktion ist bei dir schon Teil einer Bank. Du hast ein Bank in deiner Bank erzeugt.

    Hmm. Indem ich zusätzlich ein Objekt der Klasse Bank in der Klasse Bank erzeugt habe, habe ich eine Bank in meiner Bank erzeugt?


  • Mod

    @Suprax sagte in *Bankkonto*: Verweis auf ein Objekt anderer Klasse richtig übergeben? Keine Ausgabe!:

    Ich bin mittlerweile voran gekommen und fast fertig.
    Allerdings muss ich jetzt die Buchungen, die der Benutzer tätigen kann, zeitlich ordnen.
    Die Zeitangabe, wann die Buchungen statt finden, entscheidet der Benutzer selbst.
    Habt ihr eine Idee wie ich die am besten sortiert bekomme?

    Bitte stell konkrete Fragen! Möchtest du wissen, wie man generell sortiert? Wonach du sortieren sollst? Wie du Zeiten im speziellen sortieren kannst? Möchtest du tatsächlich wissen, ob jemand anderes das weiß? Das sind schon einmal vier unterschiedliche Interpretationen deiner schwammigen Frage und ich und andere haben gewiss keine Lust, alle Möglichkeiten zu beantworten, in der Hoffnung, dass eine der Antworten dir vielleicht helfen könnte. Siehe:
    https://www.c-plusplus.net/forum/topic/200753/du-brauchst-hilfe

    @SeppJ Ich kann da leider bzgl. der menu-Funktion nichts machen. Sie muss so implementiert werden, wie es vorgegeben wurde. Ich bin nicht der Prof 😃

    Du hast das Problem gar nicht verstanden. Die menu-Funktion ist bei dir schon Teil einer Bank. Du hast ein Bank in deiner Bank erzeugt.

    Hmm. Indem ich zusätzlich ein Objekt der Klasse Bank in der Klasse Bank erzeugt habe, habe ich eine Bank in meiner Bank erzeugt?

    Ja! Und kommt dir das nicht komisch falsch vor? Du scheinst nach wie vor nicht so ganz verstanden zu haben, was Objekte, Klassen, etc. überhaupt sind. Lern' mal mehr nach deinem Stroustrup-Buch und weniger nach deinem Prof!

    Ich kann da leider bzgl. der menu-Funktion nichts machen. Sie muss so implementiert werden, wie es vorgegeben wurde. Ich bin nicht der Prof

    Klar! Bloß keine Eigeninitiative zeigen oder Wissen aneignen, das über die Vorlesung hinaus geht. Wo kämen wir denn da hin, wenn Studenten plötzlich anfingen, mehr als nur die Mindestleistung zum Bestehen zu erbringen?



  • @Suprax sagte in [*Bankkonto*: Verweis auf ein Objekt anderer Klasse richtig übergeben? Keine Ausgabe!]

    Personen, Accounts und Bank sind in jeweils getrennten Klassen

    scheinbar nicht, oder was tut der "Person"-Vector in deiner Bankklasse?

    class Bank {
    
    private:
        vector<Person> person;
        vector<Account> account;
    };
    


  • @SeppJ sagte in *Bankkonto*: Verweis auf ein Objekt anderer Klasse richtig übergeben? Keine Ausgabe!:

    @Suprax sagte in *Bankkonto*: Verweis auf ein Objekt anderer Klasse richtig übergeben? Keine Ausgabe!:

    Ich bin mittlerweile voran gekommen und fast fertig.
    Allerdings muss ich jetzt die Buchungen, die der Benutzer tätigen kann, zeitlich ordnen.
    Die Zeitangabe, wann die Buchungen statt finden, entscheidet der Benutzer selbst.
    Habt ihr eine Idee wie ich die am besten sortiert bekomme?

    Bitte stell konkrete Fragen! Möchtest du wissen, wie man generell sortiert? Wonach du sortieren sollst? Wie du Zeiten im speziellen sortieren kannst? Möchtest du tatsächlich wissen, ob jemand anderes das weiß? Das sind schon einmal vier unterschiedliche Interpretationen deiner schwammigen Frage und ich und andere haben gewiss keine Lust, alle Möglichkeiten zu beantworten, in der Hoffnung, dass eine der Antworten dir vielleicht helfen könnte. Siehe:
    https://www.c-plusplus.net/forum/topic/200753/du-brauchst-hilfe

    @SeppJ Ich kann da leider bzgl. der menu-Funktion nichts machen. Sie muss so implementiert werden, wie es vorgegeben wurde. Ich bin nicht der Prof 😃

    Du hast das Problem gar nicht verstanden. Die menu-Funktion ist bei dir schon Teil einer Bank. Du hast ein Bank in deiner Bank erzeugt.

    Hmm. Indem ich zusätzlich ein Objekt der Klasse Bank in der Klasse Bank erzeugt habe, habe ich eine Bank in meiner Bank erzeugt?

    Ja! Und kommt dir das nicht komisch falsch vor? Du scheinst nach wie vor nicht so ganz verstanden zu haben, was Objekte, Klassen, etc. überhaupt sind. Lern' mal mehr nach deinem Stroustrup-Buch und weniger nach deinem Prof!

    Ich kann da leider bzgl. der menu-Funktion nichts machen. Sie muss so implementiert werden, wie es vorgegeben wurde. Ich bin nicht der Prof

    Klar! Bloß keine Eigeninitiative zeigen oder Wissen aneignen, das über die Vorlesung hinaus geht. Wo kämen wir denn da hin, wenn Studenten plötzlich anfingen, mehr als nur die Mindestleistung zum Bestehen zu erbringen?

    1. Ich möchte Buchungen sortieren, die zeitlich vorher festgelegt werden.
      Das Datum initalisiere ich mit den Parametern: int tag, int monat, int jahr.
      Die Buchungen sollen aufsteigend sortiert werden.
      Bubble Sort könnte man hierbei benutzen, wenn ich mich nicht irre.

    2. Danke für die bisherige Hilfe, aber anscheinend hast du nicht verstanden warum ich mich konkret an die Vorgaben des Professor halten will.
      Ich erkläre es nochmal: Es ist pflicht.
      Die Altklausuren geben den Klassenaufbau, Methoden und Implementierung der Methoden vor. Ich kann nicht anfangen eine eigene Klasse für die menu()-Funktion zu implementieren.
      Nicht, weil ich es nicht kann, sondern weil das abweicht von den Vorgaben.
      Selbst wenn ich es so machen würde und das Programm kompiliert fehlerfrei und funktioniert darüber hinaus auch noch würde ich nicht nur ein Teil bis garkeine Punkte für die jeweilige Aufgabe bekommen.

    Ich zeige Eigeninitiative, sonst wäre ich nicht hier und würde um Hilfe bitten. Es liegt nicht daran, dass ich sonst nicht durch die Prüfung komme.
    Ich kann jetzt die Prüfung schreiben, Klassen implementieren, paar Methoden schreiben und komme mit einer guten 3, vielleicht auch 2 durch die Prüfung.
    Aber das ist nicht das was ich möchte.
    Ihr merkt doch selber, dass ich gewisse Dinge nicht verinnerlicht und viele Lücken habe, aber vergiss nicht, dass ich erst angefangen habe und noch auf keinem hohen Niveau bin.
    Ich bin auch kein Einstein und brauche Zeit und eindeutige Erklärungen, aber wenn ich einmal etwas verstanden habe, dann bleibt das auch in meinem Kopf.

    1. Zu der Bank-Objekt-Problematik: Wenn ich kein Objekt in der Klasse erzeuge, wo soll ich dann die dementsprechende Benutzer-Eingaben, die in der Methode menu() statt finden, speichern?

    @It0101 sagte in *Bankkonto*: Verweis auf ein Objekt anderer Klasse richtig übergeben? Keine Ausgabe!:

    @Suprax sagte in [*Bankkonto*: Verweis auf ein Objekt anderer Klasse richtig übergeben? Keine Ausgabe!]

    Personen, Accounts und Bank sind in jeweils getrennten Klassen

    scheinbar nicht, oder was tut der "Person"-Vector in deiner Bankklasse?

    class Bank {
    
    private:
        vector<Person> person;
        vector<Account> account;
    };
    

    Der vector<Person> person dient lediglich als ein Speicherort von Person-Objekten.
    Die Klasse Person ist in seiner eigenen Header definiert und dessen Konstruktor in einer cpp.



  • In den anderen Funktionen der Bank-Klasse erzeugst du doch auch kein neues Bank-Objekt und greifst auf die Member zu (Stichwort: this).



  • @Th69 ja, aber die Funktionen rufe ich in der menu() -Funktion auf und übergebe die Werte dann an das Objekt der Klasse



  • Nur warum machst du das?
    Du rufst doch in der main-Funktion diese Funktion so ähnlich auf:

    Bank bank;
    
    bank.menu();
    

    Und jetzt schreibe darunter mal:

    bank.print_account();
    

    und führe es aus (indem du mal mindestens einen Account anlegst und dann das Menü verlässt).

    Warum also nicht (wie in den anderen Bank-Funktionen auch) einfach

    // in Zeile 38 deines ersten Code-Beitrags
    this->print_person();
    // bzw. kürzer
    print_person();
    

    ?



  • Im Grunde sind der größte Fluch des C++-Forums irgendwie Professoren und Lehrer 😂
    Keiner von denen hat vermutlich jemals ein Software-Projekt durchgezogen...



  • Und verwenden Skripte aus den 90iger Jahren...



  • @It0101 sagte in *Bankkonto*: Verweis auf ein Objekt anderer Klasse richtig übergeben? Keine Ausgabe!:

    Im Grunde sind der größte Fluch des C++-Forums irgendwie Professoren und Lehrer

    Oder die Existenzberechtigung 😉


Anmelden zum Antworten