Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

C++ Grundkurs

Konstante Methoden

Testen Sie unsere 2019 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Konstante Objekte besitzen in C++ die Fähigkeit, konstante Methoden aufzurufen. Diese stellen in der Programmiersprache eine besondere Methode dar.
02:21

Transkript

In dieser Lektion möchte ich Ihnen konstante Methoden in C++ vorstellen. Konstante Methoden sind die einzigen Methoden, die von konstanten Objekten aufgerufen werden können. Im Umkehrschluss heißt es, ein konstantes Objekt kann keine nicht konstante Methode aufrufen. Konstante Methoden können keine Instanzvariablen verändern. Sie können es aber mit der Ausnahme, wenn diese Instanzvarible als *mutable* deklariert wurde. Konstante Methoden können nur *const*- oder *constexpr*-Methoden aufrufen. *constexpr*-Methoden sind sogenannte konstante Ausdrücke-Methoden. Sind Methoden, die zur Kompilierzeit ausgeführt werden können. Hier in dem Beispiel zeige ich Ihnen eine konstante Methode. Die konstante Methode ist die Methode *getBalance const* und die gibt *balance* zurück. Sie sehen, diese Methode ändert nichts an der Instanzvariblen *balance* und Sie sehen auch, typischerweise werden konstante Methoden für Methoden verwendet, die einfach nur einen Wert zurückgeben wie hier die *balance*. Hier habe ich mein konstantes Objekt *acc* vom Typ *Account*. Dieses Objekt kann nur *getBalance* aufrufen, weil *getBalance* selber als *const* deklariert wurde. Das zeige ich jetzt noch in der Anwendung. Hier die *Account* Klasse mit der konstanten Methode *getBalance*. Hier die Methode *addAmount*, die nicht konstant ist. Das ist der Grund, wieso sie auch *balance* modifizieren darf, *Amount* aufrechnen darf. Hier geht es schon zur Anwendung. In der Funktion *main* erzeuge ich zwei Objekte, ein sog. *readWrite*-Objekt. D.h, dieses Objekt darf sowohl lesend wie auch schreibend, sprich modifizierend auf *Account* zugreifen. Dagegen darf mein *const*-Objekt nur lesend darauf zugreifen. Es darf nichts verändern. *readWriteAccount* darf also einerseits 50, ich nenne es jetzt einmal Euro, hinzuaddieren zum *Account* und es darf auch den Wert auslesen mit *readWriteAccount.getBalance*. Das ist der Unterschied zu *readAccount* hier. Das *readAccount-Objekt* darf nur den Wert *getBalance* auslesen. In dieser Lektion habe ich Ihnen konstante Methoden vorgestellt. Insbesondere habe ich betont, dass gerne Methoden, die nur einen Wert zurückgeben wie diese Methode *getBalance* hier als *const* deklariert werden. Methoden, die hingegen etwas verändern als nicht *const* deklariert werden müssen.

C++ Grundkurs

Steigen Sie in die mächtige Programmiersprache C++ ein und lernen Sie dabei alle wichtigen Funktionen mit Anwendungsbeispielen kennen.

8 Std. 14 min (147 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!