#include #include #include "Shape.hh" #include "Square.hh" #include "Circle.hh" using namespace std; void listShapes( list l ); int main() { Square square(5); cout << "Square" << endl; cout << "Surface : " << square.surface() << endl; cout << "Circumference : " << square.circumference() << endl; cout << endl; Circle circle(3); cout << "Circle" << endl; cout << "Surface : " << circle.surface() << endl; cout << "Circumference : " << circle.circumference() << endl; // Shape List list l; // Create Circles for ( int i = 0 ; i < 4 ; i++ ) { l.push_back( new Circle(i*i) ); } // Create Squares for ( int i = 0 ; i < 5 ; i++ ) { l.push_back( new Square(i*i) ); } // List all Shapes listShapes( l ); // Delete Shapes for ( auto it = l.begin() ; it != l.end() ; ++it ) { delete (*it); } } void listShapes( list l ) { for ( auto it = l.begin() ; it != l.end() ; ++it ) { cout << (*it)->shapeName() << endl; cout << "Surface : " << (*it)->surface() << endl; cout << "Circumference : " << (*it)->circumference() << endl; cout << endl; } }