Aufrufen übergeordneter Klassenfunktionen in abgeleiteten Klassen
In C werden die Wiederverwendbarkeit und Vererbung von Code durch das Konzept abgeleiteter Klassen erreicht, die Methoden und Eigenschaften erben aus ihren Elternklassen. Dies wirft die Frage auf, wie übergeordnete Klassenfunktionen aus abgeleiteten Klassen aufgerufen werden können.
Übergeordnete Funktionen direkt aufrufen
Wenn die übergeordnete Klassenfunktion nicht als privat deklariert ist, ist sie es automatisch für die abgeleitete Klasse zugänglich. Daher können Sie die übergeordnete Funktion ohne spezielle Syntax direkt aus der Methode der abgeleiteten Klasse aufrufen.
Betrachten Sie beispielsweise den folgenden Code:
class Parent { public: void print() { std::cout << "Parent class print function" << std::endl; } }; class Child : public Parent { public: void printWithParent() { print(); // Inherits from Parent and can be called directly } };
Aufrufen übergeordneter Funktionen mit Mehrdeutigkeitsauflösung
Wenn eine Funktion mit derselben Signatur sowohl in der übergeordneten als auch in der abgeleiteten Klasse vorhanden ist, liegt möglicherweise eine Mehrdeutigkeit vor. Um dieses Problem zu lösen, können Sie die übergeordnete Klasse explizit angeben, indem Sie die folgende Syntax verwenden:
parent_class::function_name(...);
Wenn Child beispielsweise auch eine print()-Funktion definiert, können Sie diese wie folgt eindeutig machen:
class Child : public Parent { public: void print() { std::cout << "Child class print function" << std::endl; } void printWithParent() { Parent::print(); // Calls the Parent class print function } };
Fazit
Das Aufrufen übergeordneter Klassenfunktionen aus abgeleiteten Klassen in C ist unkompliziert. Durch Befolgen dieser Richtlinien können Sie die Vererbung effektiv nutzen und die Wiederverwendbarkeit und Wartbarkeit des Codes erreichen.
Das obige ist der detaillierte Inhalt vonWie rufe ich übergeordnete Klassenfunktionen aus abgeleiteten Klassen in C auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!