kramann.info
© Guido Kramann

Login: Passwort:










7.1 Vererbung mit Modifikator public

class B : public A

Ort und Modifikator des Elements Zugriff von Objekt der Klasse A: Zugriff von Objekt der KLasse B: Zugriff von Außen:
private in A ja nein nein
protected in A ja JA nein
public in A ja ja ja
private in B nein ja nein
protected in B nein ja nein
public in B nein ja ja

Tabelle 7.1-1: public-Vererbung

Beispiel für Vererbung mit Modifikator public

Basisklasse in Mutter.h
class Mutter
{
  public:  
    double x;
    
    Mutter(double x)
    {
        this->x = x;
    }
    
    double getX()
    {
        return x;
    }
}; 

Code 7.1-1: Mutter.h

Abgeleitete Klasse in Tochter.h
class Tochter : public Mutter
{
  public:  
//Basis-Konstruktor wird aufgerufen:
    Tochter(double x) : Mutter(x)
    {
    }
    
    double quadrat()
    {
        return x*x;
    }
}; 

Code 7.1-2: Tochter.h

Hauptprogramm in main.cpp
#include<iostream>

using namespace std;

#include "Mutter.h"
#include "Tochter.h"

int main(void)
{
    Mutter m(4.0);
    Tochter n(9.0);
    
    cout<<"m.x="<<m.getX()<<endl;
    cout<<"n.x="<<n.getX()<<endl;
    cout<<"n.x*n.x="<<n.quadrat()<<endl;
    
    system("PAUSE");
} 

Code 7.1-3: main.cpp

  • Weil public vererbt wird, kann man von außen auch auf die public-get()-Methode der Objekte der Basisklasse zugreifen.
  • Dagegen kann niemals von einem Objekt der Basisklasse auf eine Methode oder ein Attribut der Objekte der abgeleiteten KLasse zugegriffen werden, wie die public-Methode quadrat().
  • Man beachte den Aufruf des Konstruktors der Basisklasse in Tochter.
Obiges Beispiel gezipt.