1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
#include <iostream>
#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;
}
|