Weil besser als gut!

Const (C++)Inhaltsverzeichnis const ObjekteObjekte können, genau wie Variablen auch, als konstante Objekte deklariert werden, z.B.: C++ const MeinArray a3(3); Nun werden alle Methoden des Objekts a3 gesperrt, denn selbst wenn alle Methodenparameter als const deklariert wären, hätten die Methoden noch die Möglichkeit, mit dem this pointer schreibend auf die Attribute zuzugreifen ! const MethodenMethoden, die auch auf const Objekte anwendbar seien sollen (nur lesend !), heißen const Methoden. Sie werden durch const hinter der Parameterliste gekennzeichnet: C++ void check_index( int index ) const; string getStringAt( int index ) const; Hiermit wird der Typ des hidden Arguments geändert in "konstanter Zeiger auf konstantes Objekt", also: C++ const klasse* const this Für const Methoden ist damit sichergestellt, dass sie den Zustand eines Objekts nicht ändern. Anwendung / BenutzungWarum sind check_index und getStringAt als const deklariert (siehe Prog2 - Labor Nr. 4, S.1 unten) ?
HinweisEs ist gute Programmierpraxis, grundsätzlich alle Methoden, die nur lesend zugreifen, als const Methoden zu realisieren, da:
Kategorie: Programmieren2 |
Zahlen & Daten
Publish |