#ifndef EXAMPLE14_SHAPE_H #define EXAMPLE14_SHAPE_H #include class Shape { // abstract class protected: int x,y; public: Shape() : x(0), y(0) {} Shape(int x, int y) : x(x), y(y) {} virtual double area() const = 0; //abstract constant method virtual void print() const = 0; //abstract constant method virtual void relMove(int dx, int dy) { x+=dx; y+=dy; } }; #endif //EXAMPLE14_SHAPE_H