C++抽象类

题目:设计一个计算图形面积的类库。它的顶层是一个抽象类Shape,并且提供了三个纯虚函数:显示数据成员、返回面积、返回体积。

class Shape{

   virtual void ShowMember()=0;

   virtual double GetArea()=0;

   virtual double GetVolume()=0;

};

第二层由Shape类派生TwoDimShape(二维图形)、ThreeShape(三维图形)类、他们增加了有关的数据成员,但没有成员函数的实现。第三层派生具体的图形类。TwoDimShape类派生CircleEllipseRectangleTriangle等类。ThreeShape类派生BallCylinder(圆柱体)、RectangularParallelepiped(长方体)等类。


如下为类库的体系结构:

C++抽象类C++抽象类
总结:

(1)一个基类如果包含一个或一个以上纯虚函数的,就是抽象基类。

(2)抽象基类不能定义对象

(3)在类的层次结构中,顶层或最上面的几层可以是抽象基类