Heim > Artikel > Backend-Entwicklung > Vererbungsregeln für C++-Memberfunktionen
Vererbungsregeln für C++-Memberfunktionen: Öffentliche Vererbung: Wenn eine abgeleitete Klasse die Memberfunktionen der Basisklasse öffentlich erbt, sind auch die Memberfunktionen der abgeleiteten Klasse öffentlich. Geschützte Vererbung: Wenn eine abgeleitete Klasse die Mitgliedsfunktionen der Basisklasse schützt und erbt, sind die Mitgliedsfunktionen der abgeleiteten Klasse geschützt. Private Vererbung: Die abgeleitete Klasse erbt privat die Mitgliedsfunktionen der Basisklasse. Die Mitgliedsfunktionen der abgeleiteten Klasse sind privat und können von der abgeleiteten Klasse selbst nicht direkt aufgerufen werden.
Vererbungsregeln für C++-Memberfunktionen
In der objektorientierten C++-Programmierung kann eine Klasse Datenmember und Memberfunktionen von einer Basisklasse durch Vererbung erben. Befolgen Sie für die Vererbung von Mitgliedsfunktionen die folgenden Regeln:
Praktisches Beispiel:
Betrachten Sie das folgende Beispiel:
class Shape { public: virtual double getArea(); // 抽象函数 }; class Rectangle : public Shape { public: Rectangle(double length, double width); double getArea() override; // 重写父类的 getArea 函数 private: double length; double width; }; class Square : protected Shape { public: Square(double side); double getArea() override; private: double side; }; class Circle : private Shape { public: Circle(double radius); double getArea() override; private: double radius; };
In diesem Beispiel:
Rectangle
erbt öffentlich die Klasse Shape
, also Die Funktion getArea ist auch in der Klasse Rectangle
öffentlich. Rectangle
类公有继承 Shape
类,因此 getArea
函数在 Rectangle
类中也是公有的。Square
类保护继承 Shape
类,因此 getArea
函数在 Square
类中也是保护的。Circle
类私有继承 Shape
类,因此 getArea
函数在 Circle
Square
erbt die Klasse Shape
, sodass die Funktion getArea
auch in der Klasse Square
geschützt ist . Die Klasse Circle
erbt privat die Klasse Shape
, sodass die Funktion getArea
in der Klasse Circle
privat ist.
Das obige ist der detaillierte Inhalt vonVererbungsregeln für C++-Memberfunktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!