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
클래스에서도 공개됩니다. Rectangle
类公有继承 Shape
类,因此 getArea
函数在 Rectangle
类中也是公有的。Square
类保护继承 Shape
类,因此 getArea
函数在 Square
类中也是保护的。Circle
类私有继承 Shape
类,因此 getArea
函数在 Circle
Square
클래스는 Shape
클래스를 상속하므로 getArea
함수도 Square
클래스에서 보호됩니다. . Circle
클래스는 Shape
클래스를 비공개로 상속하므로 getArea
함수는 Circle
클래스에서 비공개입니다.
위 내용은 C++ 멤버 함수의 상속 규칙의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!