【实验目的】
- 对类多重继承和多态的含义进行理解;
- 掌握类的多重继承方法及多态性;
【实验内容】
- 类的层次结构的顶层是抽象基类Shape(形状)。Point(点), Circle(圆), Rectangle(矩形)都是Shape类的直接派生类和间接派生类。
class Shape
{public:
virtual float area( ) const {return 0.0;}//虚函数
virtual void shapeName() const =0; //纯虚函数
};
实现Point(点), Circle(圆), Rectangle(矩形),并通过主函数分别定义其对象,用Shape类型的指针分别指向这些对象,并用指针调用area()和shapeName()函数,体会动态多态性的含义。
- Shape.h
class Shape
{
public:
Shape():x(0),y(0){}
Shape(int a,int b):x(a),y(b){}
virtual float area( ) const {return 0.0;}
virtual void shapeName() const =0;
protected:
int x;
int y;
};