- Examples/Makefile.in rules use SRCDIR as the relative source directory - ./config.status replicates Examples/ source directory tree in build directory, and copies each Makefile to build directory, prefixed with a header which sets SRCDIR to source directory - Examples/test-suite/.../Makefile.in set SRCDIR from Autoconf-set srcdir - Examples/test-suite/errors/Makefile.in needs to filter out source directory from SWIG error messages - Lua: embedded interpreters are passed location of run-time test - Python: copy run-time scripts to build directory because of 2to3 conversion; import_packages example copies __init__.py from source directory; test-suite sets SCRIPTDIR to location of run-time tests - Javascript: binding.gyp renamed to binding.gyp.in so that $srcdir can be substituted with SRCDIR; removed './' from require() statements so that NODE_PATH can be used to point Node.js to build directory
46 lines
1.3 KiB
JavaScript
46 lines
1.3 KiB
JavaScript
var example = require("example");
|
|
|
|
// ----- Object creation -----
|
|
|
|
console.log("Creating some objects:");
|
|
c = new example.Circle(10);
|
|
console.log("Created circle " + c);
|
|
s = new example.Square(10);
|
|
console.log("Created square " + s);
|
|
|
|
// ----- Access a static member -----
|
|
console.log("\nA total of " + example.Shape.nshapes + " shapes were created"); // access static member as properties of the class object
|
|
|
|
// ----- Member data access -----
|
|
// Set the location of the object.
|
|
// Note: methods in the base class Shape are used since
|
|
// x and y are defined there.
|
|
|
|
c.x = 20;
|
|
c.y = 30;
|
|
s.x = -10;
|
|
s.y = 5;
|
|
|
|
console.log("\nHere is their new position:");
|
|
console.log("Circle = (" + c.x + "," + c.y + ")");
|
|
console.log("Square = (" + s.x + "," + s.y + ")");
|
|
|
|
// ----- Call some methods -----
|
|
console.log("\nHere are some properties of the shapes:");
|
|
console.log("Circle:");
|
|
console.log("area = " + c.area() + "");
|
|
console.log("perimeter = " + c.perimeter() + "");
|
|
console.log("\n");
|
|
console.log("Square:");
|
|
console.log("area = " + s.area() + "");
|
|
console.log("perimeter = " + s.perimeter() + "");
|
|
|
|
// ----- Delete everything -----
|
|
console.log("\nGuess I'll clean up now");
|
|
// Note: this invokes the virtual destructor
|
|
delete c;
|
|
delete s;
|
|
|
|
console.log(example.Shape.nshapes + " shapes remain");
|
|
|
|
console.log("Goodbye");
|