2 Zeiger



  • hallo

    mein programm hat noch fehler die ich nicht finde



  • #include "Schueler.h"
    #include <iostream>
    using namespace std;
    
    class Lehrer
    {
    public:
    int lehrer;
    Lehrer (int lehrernummer){
    lehrer = lehrernummer;
    }
    
    virtual ~Lehrer(void)
    {
    }
    
    void gebeVerweis ( Schueler *schueler ) {
    
    cout << "dem schuler" << schueler->nr << "wurde ein Verweis gegeben" << endl;
    }
    
    };
    
    #include "Lehrer.h"
    #include <iostream>
    using namespace std;
    
    class Schueler
    {
    public:
    
    int nr;
    Lehrer *tester;
    
    Schueler(int testname)
    {
    nr = testname;
    cout << "der mensch " << this->nr << " wurde erzeugt" << endl;
    }
    
    virtual ~Schueler(void)
    {
    }
    
    void addLehrer(Lehrer *test)
    {
    this->tester = test;
    }
    
    void argere() {
    (*tester).gebeVerweis (this);
    }
    
    };
    

    Ich habe dir die Lösung für ein solches Problem im anderen Thread gegeben.
    Für ein solches Problem brauchst du eine Vorwärtsdeklaration und dann musst du die Implementierung in die .cpp auslagern, wo du dann beide Header getrost einbinden kannst.

    btw:
    Warum funktionieren deine cpp-Tags nicht?! 😕



  • eine cpp datei habe ich nicht. habe alle funktionen in die klasse hineingeschrieben



  • hansigarten2 schrieb:

    eine cpp datei habe ich nicht. habe alle funktionen in die klasse hineingeschrieben

    Das geht so nicht. Schau in den anderen Thread, dort habe ich ein Beispiel gemacht.

    Das Problem ist, dass du da eine wechselseitige Abhängigkeit hast. (siehst du ja selbst, dass du jeweils den anderen includes und das geht einfach nicht). Somit musst du bei der einten Klasse mit einer Vorwärtsdeklaration begnügen und kannst lediglich Zeiger/Referenzen benutzen. In der .cpp kannst du dann aber wieder normal arbeiten.



  • thx 4 help
    hat jetzt funktioniert



  • Warum editierst du deine Beiträge und löschst das Wichtige raus? Hast du schon mal daran gedacht, dass vielleicht andere über diesen Thread stolpern und das Problem gerne nachvollziehen möchten (ich meine jetzt nicht mich)?

    BTW: Solange die vollständige Beschreibung "mein programm hat noch fehler die ich nicht finde" lautet, hat man einen sehr merkwürdigen Eindruck von dir...



  • sry das ich ein paar (ich fande eher unnötige beiträge) editiert habe.
    den c++ code habe ich gelöscht da er von drakon in cpp tags angezeigt wurde und bei mir nicht.
    wird nicht wieder vorkommen 🙂


Anmelden zum Antworten