Forum: Mikrocontroller und Digitale Elektronik Verstehe den Unterschied nicht


von Mich (Gast)


Lesenswert?

virtual void showDate(int year , int month  , int day  )   = 0;

was ist da der Unterschied




virtual void showDate(int year , int month  , int day  ) const  = 0;

von Zworbel (Gast)


Lesenswert?

const

von Klaus (Gast)


Lesenswert?

Der Unterschied ist das mit Const fest eine 0 vereinbart wird soviel ich 
noch weiss. Also eine Konstante sozusagen.

Anderst ausgedrückt kann man nur lesend zugegriffen werden.

Im obrigen Beispiel können die Werte durch das Programm geändert werden.

von ●● pit ●. (Gast)


Lesenswert?

das "= 0" nach der methodendeklaration zwingt (in kombination mit 
'virtual')
jede ableitung der klasse dazu, diese methode zu implementieren.
(Siehe: 
http://en.wikipedia.org/wiki/Virtual_function#Abstract_classes_and_pure_virtual_functions)


"const" nach der methode sagt dem compiler, das
der code dieser methode nichts an zugehörigen objektvariablen ändert.

damit kann der c++ copmpiler code optimieren und syntaktisch checken.

probiers einfach aus.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.