Frage von Sebbo92, 60

C++ | Objektorientierung - Vererbung?

Hallo zusammen,

momentan nehmen wir in C++ die Objektorientierung durch, leider wurde die Vererbung nur kurz (sehr und zu kurz) angesprochen. Kann mir vielleicht einer von euch den Unterschied zwischen privat und protected erklären.

Vielen Dank für euere Hilfe :)

Expertenantwort
von Kesselwagen, Community-Experte für Computer, 35

Hallo,

  • private: Man kann nur innerhalb der Klasse selbst auf die Elemente (z.B. Attribut) zugreifen
  • protected: Man kann innerhalb der Klasse und von den Klassen, die von dieser Klasse erben auf die Elemente (z.B. Attribut) zugreifen

Beide "Schlüsselwörter" erlauben nicht die Verwendung der Elemente außerhalb der Klassen.

Beispiel: Wenn Du Elternklasse hast mit dem Attribut

class Elternklasse{
protected:
int Zahl; };

Dann kann eine von der erbende Klasse

class Kindklasse : public Elternklasse{
public:
   int getZahl();
};

Ne Methode haben, die auf int Zahl aus der Elternklasse zugreift:

int Kindklasse::getZahl(){
   return Zahl;
}

Nicht möglich ist z.B. der Aufruf von Zahl aus der Main-Funktion:

int main(){
Kindklasse k;
k.Zahl = 1000; // Geht überhaupt nicht...
}

---

LG. Kesselwagen

Antwort
von RakonDark, 33

hier nachlesen , such einfach nach protected

http://www.willemer.de/informatik/cpp/cpperben.htm

gibt auch ein beispiel  dazu .

kurz gesagt, kann nur von einer abgeleiteted klasse auf protected zugegriffen werden .


Kommentar von Sebbo92 ,

Vielen Dank für die schnelle Antwort :)

Keine passende Antwort gefunden?

Fragen Sie die Community