Code前端首页关于Code前端联系我们

抽象类与接口在C++中的实现与应用

terry 2年前 (2023-10-01) 阅读数 120 #c++
文章标签 jsp连接mysql

一、抽象类的概念与实现

抽象类是指在类中包含纯虚函数(没有实现代码的函数),其目的是为了让子类继承并实现这些函数。抽象类不能被实例化,只能作为基类供子类继承。

一个简单的抽象类示例代码如下:

class Shape {
public:
    virtual double getArea() = 0; // 纯虚函数,需要子类实现
    virtual double getPerimeter() = 0; // 同上
};

上面的代码定义了一个抽象类Shape,其中包含两个纯虚函数getArea和getPerimeter。由于这两个函数没有实现代码,所以Shape类不能被实例化。具体实现需要在子类中完成。

二、抽象类的应用

1.实现多态

抽象类是多态的基础,在抽象类中定义的纯虚函数可以在子类中被重写,从而实现多态。具体示例代码如下:

class Circle : public Shape {
public:
    Circle(double r): radius(r){}
    double getArea() {
        return 3.14 * radius * radius;
    }
    double getPerimeter() {
        return 3.14 * radius * 2;
    }
private:
    double radius;
};

class Rectangle : public Shape {
public:
    Rectangle(double l, double w): length(l), width(w){}
    double getArea() {
        return length * width;
    }
    double getPerimeter() {
        return (length + width) * 2;
    }
private:
    double length;
    double width;
};

void printShape(Shape* s) { // 定义一个函数,以Shape类型指针为参数
    cout 

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门