抽象类和基类一样吗?

用户名

抽象类和基类一样吗?

我偶尔会看到“基类”一词,但是当我查看它的含义时,往往会看到“抽象类”的字眼。

他们只是两个单词,它们的意思基本相同吗?

来了

这是一个典型的基类Polygon:

class Polygon {
  protected:
    int width, height;
  public:
    void set_values (int a, int b)
      { width=a; height=b; }
    virtual int area ()
      { return 0; }
};

class Rectangle: public Polygon {
  public:
    int area ()
      { return width * height; }
};

class Triangle: public Polygon {
  public:
    int area ()
      { return (width * height / 2); }
};

抽象基类与上一个示例中的Polygon类非常相似。它们是只能用作基类的类(您不能实例化它们),因此可以不定义而具有虚成员函数(称为纯虚函数)。语法是将它们的定义替换为= 0(以及等号和零):

抽象的基础Polygon类可能如下所示:

// abstract class CPolygon
class Polygon {
  protected:
    int width, height;
  public:
    void set_values (int a, int b)
      { width=a; height=b; }
    virtual int area () =0;
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章