C 成員函數繼承規則:公有繼承:衍生類別公有繼承基底類別的成員函數,則衍生類別的成員函數也為公有。保護繼承:衍生類別保護繼承基底類別的成員函數,則衍生類別的成員函數為保護的。私有繼承:衍生類別私有繼承基底類別的成員函數,則衍生類別的成員函數為私有的,而衍生類別本身無法直接存取。
C 成員函數的繼承規則
在C 物件導向程式設計中,類別可以透過繼承的方式從基底類別繼承資料成員和成員函數。對於成員函數的繼承,遵循下列規則:
實戰案例:
#考慮以下範例:
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; };
在這個範例中:
Rectangle
類別公有繼承Shape
類,因此getArea
函數在Rectangle
類別中也是公有的。 Square
類別保護繼承 Shape
類,因此 getArea
函數在 Square
類別中也是保護的。 Circle
類別私有繼承 Shape
類,因此 getArea
函數在 Circle
類別中是私有的。 注意:
以上是C++ 成員函式的繼承規則的詳細內容。更多資訊請關注PHP中文網其他相關文章!