Klassen (class ableiten)
abgeleitete Klasse erbt public und protected von Basisklasse
Kann in Main aufgerufen werden
Basisklasse kann abgeleitete Klasse nicht in main aufrufen
Keiner kann private aufrufen außer mit einer extra public Funktion
// Basisklasse
class Tier {
public:
void sagHallo() {
cout << "Hallo vom Tier!" << endl;
}
};
// Abgeleitete Klasse
class Hund : public Tier {
void bellen() {
cout << "Wuff!" << endl;
// Anwendung in main
int main() {
Hund h;
h.sagHallo(); // von Tier
h.bellen(); // eigene Methode
Was ist protected in class?
Zugriffsmodifizier
Methoden und Daten sind nur innerhalb der Klasse selbst
und in abgeleiteten Klassen sichtbar
aber nicht von außen (main)!
Der grund ist die Vererbung (Inheritance).
Die abgeleitete Klasse erbt alles von der Basisklasse – und darf auf protected zugreifen, aber nicht auf private.
Beispiel:
class Abgeleitet : public Basis {
void abgeleitete_method() {
protected_method(); // ✅ erlaubt – weil geerbt von Basis
2. Beispiel :
protected:
string name = "Unbekanntes Tier";
void geschuetzteMethode() {
cout << "Name des Tiers ist: " << name << endl;
private:
int geheimnis = 42; // nicht sichtbar für Unterklassen
void zeigeName() {
geschuetzteMethode(); // ✅ erlaubt
// cout << geheimnis; // ❌ Fehler! private ist tabu
Zuletzt geändertvor 2 Tagen