//Header File: Shape0.h #ifndef SHAPE0_H #define SHAPE0_H #include using namespace std; class Shape { public: //Constructors Shape(); Shape(string); //Destructor ~Shape(){}; //Accessor string name() const; //Facilitator double area() const; private: string m_name; }; //Derived class Rectangle definition class Rectangle : public Shape //Shape is the base class for Rectangle { public: //Constructor Rectangle (double, double, double, double, string); //Destructor ~Rectangle() {}; //Facilitators double width() const; double height() const; double perimeter() const; double area() const; private: //upper left hand corner coordinates double m_xul, m_yul; //lower right hand corner coordinates double m_xlr, m_ylr; }; //Derived class Circle definition class Circle : public Shape //Shape is the base class for Circle { public: //Constructor Circle (double, double, double, string); //Destructor ~Circle() {}; //Accessors double radius() const; void center(double &, double &) const; //Facilitators double circumference() const; double area() const; private: //radius double m_rad; //coordinates of center double m_x, m_y; }; #endif