21xrx.com
2024-11-08 20:16:49 Friday
登录
文章检索 我的文章 写文章
C++中的纯虚函数和抽象类
2023-07-05 09:26:27 深夜i     --     --
C++ 纯虚函数 抽象类 多态 继承

在C++中,纯虚函数和抽象类是两个非常重要的概念。纯虚函数指的是一个在基类中声明但没有实现的函数,而抽象类则是包含至少一个纯虚函数的类。这两个概念在面向对象编程中扮演了至关重要的角色。

纯虚函数可以通过在函数声明后面加上“=0”来声明。例如:


class Shape {

  public:

    virtual void draw() = 0;

};

在这个例子中,Shape是一个抽象类,它包含了一个纯虚函数draw。由于draw没有实现,因此不能创建Shape的实例。相反,其他类可以从Shape派生,并实现draw方法,以创建不同的形状。

抽象类是包含至少一个纯虚函数的类。这些类不能被实例化,但可以作为基类来派生其他类。例如:


class Geometry {

  public:

    virtual double area() = 0;

    virtual double perimeter() = 0;

};

class Square : public Geometry {

  private:

    double side;

  public:

    Square(double side)

      this->side = side;

    

    double area() {

      return side * side;

    }

    double perimeter() {

      return 4 * side;

    }

};

在这个例子中,Geometry是一个包含两个纯虚函数的抽象类。Square类从Geometry派生,并实现了area和perimeter方法,以表示一个正方形的面积和周长。由于Geometry是一个抽象类,因此不能创建Geometry的实例,但Square可以使用。

纯虚函数和抽象类是C++中重要的概念,它们使得面向对象编程更加灵活和强大。通过使用它们,我们可以创建更具扩展性的代码,并且可以在不同的类之间实现更紧密的关系。

  
  

评论区

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