c++: virtuelle const Base-Funktion non-const überschreiben

Gast #6753942
Lesenswert?
• ▲
▼
Hallo Leute,
ich stehe vor einem kleien Problem:

Ich habe einen
1
 virtual void fct(void) const;
gegeben und möchte in der abgeleiteten Klasse, D, in der fct() Members 
(nur von D) ändern..

also quasi mit
1
 virtual void fct(void);
überschreiben (zumindest was die neu eingeführent Members angeht).

Geht das irgendwie?

Danke schon mal!

MfG
Meter
#6754375
Lesenswert?
• ▲
▼
Meter Paffei schrieb:
> Danke nochmal.
> Ist in diesem Fall nicht schlimm, das const zu "umgehen".
> Den const_cast hatte ich ganz vergessen.

Mag sein, ist aber meist eine Fehler in der Architektur.
Wenn es sich nicht um eine Synchronisierung (z.B. Mutex) oder ein 
Logging zur Fehlersuche handelt, könnte das bei der Fehlersuche 
verwirren. An der Methode steht const dran, es ändert sich aber.

Und in C++ braucht man das void bei Funktionen ohne Parameter nicht.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.