#include #include #include using namespace Shapes; ShapeRep* Circle::clone () const { return new Circle; } Shape Circle::make (std::string request_code) const { Circle* ret = new Circle; return Shape(*ret); } void Circle::draw () const { std::cout << " **** \n" << " * * \n" << " * * \n" << " * * \n" << " * * \n" << " * * \n" << " * * \n" << " * * \n" << " * * \n" << " **** \n" << std:: endl; } Circle::~Circle(){} namespace { Circle& Prototype() { static Circle t(Registration("triangle")); return t; } } Shape Shapes::CirclePrototype ( Prototype() );