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