Vererbung Probleme



  • Guten Abend zusammen,

    ich habe eine Klasse Person(), von dieser Erbt die Klasse Student;

    Folgender Quellcode:

    Person* p = new Person();
     Student* stud = new Student("Jochen");
    p = stud;
    

    Leider führt die letzte Zuweisung zu folgendem Fehler:

    1>.\TestFile.cpp(17) : error C2243: 'Typumwandlung': Konvertierung von 'Student *' zu 'Person *' ist bereits vorhanden, aber es kann nicht darauf zugegriffen werden.

    Entwicklungsumgebung VS2005

    Hat jemand einen Tip/Idee woran das liegen könnte?

    Gruß Cyberdevil



  • Ist Student "private" abgeleitet?
    Versuchs mal mit "public".



  • Was du da machst erzeugt ein Speicherleck. Bevor du p etwas neues zuweist, solltest du ein delete auf p durchführen. Also:

    Person *p = new Person();
    delete p;
    p = ...;
    

    Btw: Hast du mal in die Hilfe geguckt? Manchmal findet man da bereits eine Lösung des Problems. Um direkt zum Artikel zu kommen, einfach in VS den Fehler in der Fehlerliste anwählen und F1 drücken.

    Greetz


Anmelden zum Antworten