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

函数继承允许派生类复用基类的函数定义,通过以下步骤实现:定义抽象基类,包含纯虚函数。在派生类中使用 override 关键字继承并实现基类的函数。实战案例:创建抽象基类 shape,派生类 circle 和 rectangle 计算不同形状的面积。

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

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

什么是函数继承?

函数继承是一种 C++ 特性,它允许派生类继承基类的函数定义,从而在子类中复用基类的功能。

立即学习“C++免费学习笔记(深入)”;

定义抽象基类

一个抽象基类是一个不打算被实例化的基类,它只作为其他类的基类。它包含纯虚函数(即没有函数体的函数),这些函数必须在派生类中被重写。要声明一个抽象基类,可以使用 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;};

实战案例:形状面积计算

让我们以计算形状面积为例进行一个实战演示。我们创建一个 Shape 抽象基类,并创建 Circle 和 Rectangle 派生类来计算圆和矩形的面积:

#include #include 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;}

运行输出:

Circle area: 78.5398Rectangle area: 12

以上就是C++ 函数继承详解:如何定义和使用抽象基类?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1449553.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月18日 02:29:17
下一篇 2025年12月18日 02:29:30

相关推荐

发表回复

登录后才能评论
关注微信