#include #include "example_wrap.h" int main(int argc, char **argv) { { // Block containing the Circle and Square objects. std::cout << "Creating some objects from C++:\n"; example::Circle c(10); std::cout << " Created circle\n"; example::Square s(10); std::cout << " Created square\n"; std::cout << "\nA total of " << example::Shape::nshapes() << " shapes were created\n"; c.x(20); c.y(30); example::Shape& shape = s; shape.x(-10); shape.y(5); std::cout << "\nHere is their current positions:\n"; std::cout << " Circle = (" << c.x() << " " << c.y() << ")\n"; std::cout << " Square = (" << s.x() << " " << s.y() << ")\n"; std::cout << "\nHere are some properties of the shapes:\n"; example::Shape* shapes[] = {&c, &s}; for (int i = 0; i < 2; i++) { std::cout << " " << (i ? "Square" : "Circle") << "\n"; std::cout << " area = " << shapes[i]->area() << "\n"; std::cout << " perimeter = " << shapes[i]->perimeter() << "\n"; } std::cout << "\nGuess I'll clean up now\n"; } std::cout << example::Shape::nshapes() << " shapes remain\n"; std::cout << "Goodbye from C++\n"; return 0; }