함수 상속을 통해 파생 클래스는 기본 클래스의 함수 정의를 재사용할 수 있으며 이는 다음 단계를 통해 달성됩니다. 순수 가상 함수를 포함한 추상 기본 클래스를 정의합니다. 파생 클래스에서 override 키워드를 사용하여 기본 클래스의 기능을 상속하고 구현합니다. 실제 사례: 추상 기본 클래스 Shape를 만들고 Circle 및 Rectangle 클래스를 파생하여 다양한 모양의 면적을 계산합니다.
C++ 함수 상속에 대한 자세한 설명: 추상 기본 클래스 정의 및 사용
함수 상속이란 무엇인가요?
함수 상속은 파생 클래스가 기본 클래스의 함수 정의를 상속하여 하위 클래스에서 기본 클래스의 함수를 재사용할 수 있도록 하는 C++ 기능입니다.
추상 기본 클래스 정의
추상 기본 클래스는 인스턴스화할 의도가 없는 기본 클래스이며 다른 클래스의 기본 클래스 역할만 합니다. 여기에는 파생 클래스에서 재정의되어야 하는 순수 가상 함수(즉, 함수 본문이 없는 함수)가 포함되어 있습니다. 추상 기본 클래스를 선언하려면 virtual
및 = 0
을 사용할 수 있습니다. 예: virtual
和 = 0
,例如:
class Shape { public: virtual double area() const = 0; };
派生类中的函数继承
派生类可以继承抽象基类的函数定义,方法是使用 override
class Circle : public Shape { public: override double area() const { return M_PI * radius * radius; } private: double radius; };
파생 클래스의 함수 상속
파생 클래스는 추상 기본 클래스를 상속할 수 있습니다. 클래스는override
키워드를 사용하고 함수 구현을 제공하여 함수를 정의합니다. 예: #include <iostream> #include <cmath> using namespace std; class Shape { public: virtual double area() const = 0; }; class Circle : public Shape { public: Circle(double radius) : radius(radius) {} override double area() const { return M_PI * radius * radius; } private: double radius; }; class Rectangle : public Shape { public: Rectangle(double width, double height) : width(width), height(height) {} override double area() const { return width * height; } private: double width; double height; }; int main() { Circle circle(5); cout << "Circle area: " << circle.area() << endl; Rectangle rectangle(3, 4); cout << "Rectangle area: " << rectangle.area() << endl; return 0; }
실용 사례: 모양 면적 계산
실제 데모를 위한 예로 모양 면적 계산을 들어보겠습니다. Shape 추상 기본 클래스를 만들고 Circle 및 Rectangle 파생 클래스를 만들어 원과 직사각형의 면적을 계산합니다. 🎜Circle area: 78.5398 Rectangle area: 12🎜🎜실행 출력: 🎜🎜rrreee
위 내용은 C++ 함수 상속에 대한 자세한 설명: 추상 기본 클래스를 정의하고 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!