| <?php |
| |
| # This file illustrates the manipulation of C++ references in PHP. |
| |
| require "example.php"; |
| |
| # ----- Object creation ----- |
| |
| print "Creating some objects:\n"; |
| $a = new Vector(3, 4, 5); |
| $b = new Vector(10, 11, 12); |
| |
| print " Created a: {$a->as_string()}\n"; |
| print " Created b: {$b->as_string()}\n"; |
| |
| # ----- Call an overloaded operator ----- |
| |
| # This calls the wrapper we placed around |
| # |
| # operator+(const Vector &a, const Vector &) |
| # |
| # It returns a new allocated object. |
| |
| print "Adding a+b\n"; |
| $c = example::addv($a, $b); |
| print " a+b ={$c->as_string()}\n"; |
| |
| # ----- Create a vector array ----- |
| |
| print "Creating an array of vectors\n"; |
| $va = new VectorArray(10); |
| |
| print " va: size={$va->size()}\n"; |
| |
| # ----- Set some values in the array ----- |
| |
| # These operators copy the value of $a and $b to the vector array |
| $va->set(0, $a); |
| $va->set(1, $b); |
| $va->set(2, addv($a, $b)); |
| |
| # Get some values from the array |
| |
| print "Getting some array values\n"; |
| for ($i = 0; $i < 5; $i++) { |
| print " va[$i] = {$va->get($i)->as_string()}\n"; |
| } |
| |
| ?> |