C++ Tutorial

Anhang P: Überschreiben von Variablen

Obwohl es in der OOP fast ein Vergehen ist, aus Methoden heraus auf globale Daten zuzugreifen, ist diese jedoch nicht verboten.

Hierbei können zwei Fälle auftreten:

1. Gibt es innerhalb der Klasse kein Member mit dem gleichen Namen wie das globale Datum, reicht die alleinige Angabe des Variablennamens aus.

1: // Globale Variable
2: int value;
3: // Klassendefinition
4: struct anyClass
5: {
6:    ... // kein Member mit dem Namen value
7:    void DoAny()
8:    {
9:       value = 10; // globale Variable setzen
10:      ...
11:   }
12: };

2. Enthält dagegen die Klasse eine Eigenschaft mit dem gleichen Namen wie das globale Datum, verdeckt die Eigenschaft das globale Datum. Um trotzdem auf das globale Datum zuzugreifen, wird vor dem Namen der globale Zugriffsoperator :: (zwei Doppelpunkte) gestellt.

1: int value; // Globale Variable
2: // Klassendefinition
3: struct anyClass
4: {
5:    double value; // Eigenschaft
6:    void DoAny()
7:    {
8:       value = 1.2      // Eigenschaft setzen
9:       ::value = 10;    // globale Variable setzen
10:      ...
11:   }
12: };


Copyright 2024 © Wolfgang Schröder
E-Mail mit Fragen oder Kommentaren zu dieser Website an: info@cpp-tutor.de
Impressum & Datenschutz