Basisklassen-Aufruf



  • Hallo.

    Ich programmiere nun schon eine ganze Zeit lang in Visual C++ mit der MFC. Fast genau so lange quält mich eine Frage, die mir bisher weder diverse Bücher noch das MSDN beantworten konnte. Also, vielleicht kann es jemand von euch:

    Warum ist es beim Überschreiben von Methoden(z.B. ::Serialize, ::PreCreateWindow, ::OnInitDialog) einer abgeleiteten Klasse oftmals nötig, zuerst die Version der Basisklassenmethode aufzurufen. Hat das was damit zu tun, dass diese Funktionen von Windows aufgerufen werden oder wegen Laufzeitinformationen? Ich habe auch schon ausprobiert, diesen Aufruf zu unterlassen, hat auch ohne jeden Compilerfehler funktioniert.

    Weiß dass irgendjemand? 😕



  • Die Basisklassen erledigen eine Menge Arbeit für dich, deswegen sollst du sie aufrufen - sonst musst du das nämlich selber machen.

    Debug doch einfach in die Methoden rein und guck dir an, was da genau gemacht wird. Besser kann man gar nicht lernen.

    Hoffe, die Erklärung reicht.


Anmelden zum Antworten