//File: circleMS.cpp IMPLEMENTATION file #include "circleMS.h" #include const double PI = 3.14159; //Uses member initializer list circle::circle () : m_x(0.0), m_y(0.0), m_rad(1.0) { m_name = new char[strlen("Unit Circle")]; strcpy (m_name, "Unit Circle"); } circle::circle (double xcoord, double ycoord, double radius, char* name) { m_x = xcoord; m_y = ycoord; m_rad = radius; m_name = new char[strlen(name)]; strcpy (m_name, name); } circle::~circle () { delete [] m_name; } double circle::circumference () const { return (m_rad * 2.0 * PI); } double circle::radius () const { return m_rad; } char* circle::name () const { return m_name; } void circle::center (double & x, double & y) const { x = m_x; y = m_y; } ostream & operator << (ostream & out, const circle & c) { out << c.m_name << " is located at (" << c.m_x << ", " << c.m_y << ")" << endl; out << "Its radius is: " << c.m_rad << endl; out << "Its circumference is: " << c.circumference() << endl; out << endl; return out; } istream & operator >> (istream & in, circle & c) { if (in == cin) { cout << "Name center(x y) radius " << endl; } char* name = new char [20]; in >> name >> c.m_x >> c.m_y >> c.m_rad; strcpy (c.m_name, name); return in; }