Ach so war das gemeint. Hatte mich beim Drüberlesen gewundertXin hat geschrieben:Weil override nicht an der Funktion geschrieben wird, die überschrieben werden soll, sondern die überschrieben wird.GilbertDur hat geschrieben:Wieso andersrum?naums hat geschrieben:In C# gibts ein override, was andersrum funktioniert.
@naums: In C++11 gibt's override auch.
Desktruktor, abgeleitet Klasse
-
- Beiträge: 105
- Registriert: Fr Mär 01, 2013 10:31 am
Re: Desktruktor, abgeleitet Klasse
Re: Desktruktor, abgeleitet Klasse
Danke, für den disqualifizierenden Satz. Also wird "override" nach dieser Definition an NULL rangehangen?Weil override nicht an der Funktion geschrieben wird, die überschrieben werden soll, sondern die überschrieben wird.

Override sagt, dass die Methode, die ich gerade am schreiben bin, eine eventuell vorhandene überschreibt. virtual sagt anscheinend, dass die Methode, die ich grade am schreiben bin, durch eine andere - in einer abgeleiteten Klasse - überschrieben werden kann.
MfG
.globl truth
truth:
mov r0, #42
mov pc, lr
truth:
mov r0, #42
mov pc, lr
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Desktruktor, abgeleitet Klasse
Für Dich noch mal ausführlich:naums hat geschrieben:Danke, für den disqualifizierenden Satz. Also wird "override" nach dieser Definition an NULL rangehangen?Weil override nicht an der Funktion geschrieben wird, die überschrieben werden soll, sondern die überschrieben wird.
Override schreibt man nicht an die Funktiondeklaration, die später überschrieben werden soll (also z.B. eine pure virtual Funktion, die mit = 0 gekennzeichnet wird), sondern an die Funktiondeklaration, die die Überschreibung durchführt.
Nein. Der Funktionspointer ist definitiv vorhanden, denn der Zweck von override ist zu meckern, wenn die Funktion eventuell nicht vorhanden wäre. Ohne Override würdest Du einfach eine neue definieren, override verlangt, dass Du einen vorhandenen Funktionspointer überschreibst. Dieser Funktionspointer darf pure virtual sein (also NULL), aber er muss bereits in der vtable vorhanden sein.naums hat geschrieben:Override sagt, dass die Methode, die ich gerade am schreiben bin, eine eventuell vorhandene überschreibt.
Nicht anscheinend, sondern tatsächlich.naums hat geschrieben:virtual sagt anscheinend, dass die Methode, die ich grade am schreiben bin, durch eine andere - in einer abgeleiteten Klasse - überschrieben werden kann.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.