//File: Shape.cpp #include #include #include //contains PI #include "shape.h" using namespace std; //Shape Implementation Shape::Shape():m_name("Basic Shape") {}; Shape::Shape(string name) { m_name = name; } string Shape::name() const { return m_name; } double Shape::area() const { return 0.0; } //Rectangle Implementation Rectangle::Rectangle (double Xul, double Yul, double h, double w, string name) : Shape (name) { m_xul = Xul; m_yul = Yul; m_height = h; m_width =w; } double Rectangle::height() const { return m_height; } double Rectangle::width() const { return m_width; } double Rectangle::perimeter() const { return 2.0 * (m_height + m_width); } double Rectangle::area() const { return m_height * m_width; } //Circle Implementation Circle::Circle(double xcoord, double ycoord, double radius, string name) : Shape (name) { m_x = xcoord; m_y = ycoord; m_rad = radius; } double Circle::radius() const { return m_rad; } void Circle::center(double &x, double &y) const { x = m_x; y = m_y; } double Circle::circumference() const { return(2.0 * PI * m_rad); } double Circle::area() const { return (PI * m_rad * m_rad); }