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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren