# 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"; }