>  기사  >  백엔드 개발  >  C++ 함수 상속에 대한 자세한 설명: 추상 기본 클래스를 정의하고 사용하는 방법은 무엇입니까?

C++ 함수 상속에 대한 자세한 설명: 추상 기본 클래스를 정의하고 사용하는 방법은 무엇입니까?

WBOY
WBOY원래의
2024-05-03 13:21:02983검색

함수 상속을 통해 파생 클래스는 기본 클래스의 함수 정의를 재사용할 수 있으며 이는 다음 단계를 통해 달성됩니다. 순수 가상 함수를 포함한 추상 기본 클래스를 정의합니다. 파생 클래스에서 override 키워드를 사용하여 기본 클래스의 기능을 상속하고 구현합니다. 실제 사례: 추상 기본 클래스 Shape를 만들고 Circle 및 Rectangle 클래스를 파생하여 다양한 모양의 면적을 계산합니다.

C++ 函数继承详解:如何定义和使用抽象基类?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.