21xrx.com
2024-12-22 21:46:53 Sunday
登录
文章检索 我的文章 写文章
C++中纯虚函数在子类中的应用
2023-07-12 13:43:19 深夜i     --     --
纯虚函数 子类 实现 继承 多态

C++中纯虚函数是一种在父类中定义的函数,但并没有在父类中进行具体的实现。它允许子类在继承父类的同时,强制要求子类实现该函数。纯虚函数的声明和定义方式如下:


virtual void func() = 0;

其中的 "=0" 表示将该函数定义成纯虚函数。

纯虚函数在子类中的应用非常广泛。它可以用来实现接口、抽象类等等。接口是一种纯虚类,它定义了一组公共的函数接口,但具体的实现由不同的子类来完成。抽象类是指至少拥有一个纯虚函数的类,它不能被实例化,只能用于派生出新的类。

例如,我们可以定义一个形状的抽象类,其中有一个纯虚函数计算面积,而具体的形状子类则必须实现该函数:


class Shape{

  public:

    virtual double getArea() = 0;

};

class Circle: public Shape{

  private:

    double radius;

  public:

    Circle(double r): radius(r){ }

    double getArea(){

      return 3.14 * radius * radius;

    }

};

class Rectangle: public Shape{

  private:

    double length;

    double width;

  public:

    Rectangle(double l, double w): length(l), width(w){ }

    double getArea(){

      return length * width;

    }

};

在上面的代码中,我们定义了一个形状的抽象类 Shape,其中有一个纯虚函数 getArea。然后,我们定义了两个具体的形状子类 Circle 和 Rectangle,它们分别实现了计算面积的方法。这样,我们就可以在程序中创建 Circle 和 Rectangle 对象,并使用它们的 getArea 方法计算出它们的面积。

总之,纯虚函数是一种非常有用的特性,在面向对象编程中具有重要的作用。通过使用纯虚函数,我们可以定义出一组公共的接口和抽象类,从而实现代码的重用和扩展。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复