HOWTO · C++

C++ Call Parent-Methode

Das Aufrufen einer Funktion in C++ ist ein Vorgang, bei dem die Steuerung an die Funktion übertragen wird. Das Aufrufen einer Funktion in C++ ist nicht auf eine bestimmte Art beschränkt, und es gibt verschiedene Möglichkeiten, dies zu tun.

Auf dieser Seite

In diesem Artikel wird kurz erläutert, wie eine übergeordnete Klassenfunktion von einer abgeleiteten Klassenfunktion in C++ aufgerufen wird.

Rufen Sie die übergeordnete Klassenfunktion in C++ auf

Das Aufrufen einer Funktion in C++ ist das Übertragen der Steuerung an die Funktion. Das Aufrufen einer Funktion in C++ ist nicht auf eine bestimmte Art beschränkt, und es gibt verschiedene Möglichkeiten, dies zu tun.

Der erste Weg ist die Verwendung des Standardaufrufs operator(), der alle globalen, Member- oder statischen Funktionen aufruft. Die zweite Möglichkeit ist die Verwendung des dynamischen Cast-Operators, der nur Memberfunktionen aufruft, die sich auf den Klassentyp des Objekts beziehen.

Die dritte Möglichkeit ist die Verwendung des statischen Cast-Operators (static_cast), der nur globale, statische oder Member-Funktionen aufruft. In diesem Tutorial werden wir speziell besprechen, wie eine übergeordnete Funktion aus einer abgeleiteten Klasse aufgerufen wird.

In C++ kann eine abgeleitete Klasse die Funktion der übergeordneten Klasse mit dem Schlüsselwort parent:: aufrufen. Zum Beispiel, wenn Sie die Methode print_message von der übergeordneten Klasse ParentClass aufrufen möchten.

Syntax:

ParentClass::print_message()
  1. Erstellen Sie die Funktion in der Basisklasse.
  2. Erstellen Sie die Funktion in der abgeleiteten Klasse.
  3. Rufen Sie die Basisklassenfunktion innerhalb der abgeleiteten Klassenfunktion auf, indem Sie den Namen der Basisklasse gefolgt von zwei Doppelpunkten (::) anhängen. Zum Beispiel Basisklasse::abgeleitete_Klasse.

Codebeispiel:

#include <bits/stdc++.h>
using namespace std;
class parent {
 public:
  void demo() { cout << "x" << endl; }
};
class derived : public parent {
 public:
  void demo() {
    cout << "y" << endl;
    parent ::demo();
  }
};
int main() {
  derived zzm;
  zzm.demo();
  return 0;
}

Ausgang:

y
x

Democode ausführen

In diesem Codebeispiel haben wir eine übergeordnete Klasse, eine Basisklasse und eine abgeleitete Klasse erstellt.

Danach haben wir die Funktion demo() innerhalb der Funktion main() erstellt. Wenn die Funktion demo() der abgeleiteten Klasse aufgerufen wird.