swig/Examples/php4/reference/example.cxx
Kevin Ruland 522ab32693 Updated examples to function correctly with new php4 module. Added
some supplemental examples for cpointer, overloading and references using
proxies.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7391 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-08-24 16:32:41 +00:00

45 lines
917 B
C++

/* File : example.cxx */
#include "example.h"
#include <stdio.h>
#include <stdlib.h>
Vector operator+(const Vector &a, const Vector &b) {
Vector r;
r.x = a.x + b.x;
r.y = a.y + b.y;
r.z = a.z + b.z;
return r;
}
char *Vector::print() {
static char temp[512];
sprintf(temp,"Vector %p (%g,%g,%g)", this, x,y,z);
return temp;
}
VectorArray::VectorArray(int size) {
items = new Vector[size];
maxsize = size;
printf("VectorArray new: self=%p\n",this);
}
VectorArray::~VectorArray() {
printf("VectorArray delete: self=%p\n",this);
delete [] items;
}
Vector &VectorArray::operator[](int index) {
printf("VectorArray: read[%d] self=%p\n",index,this);
if ((index < 0) || (index >= maxsize)) {
printf("Panic! Array index out of bounds.\n");
exit(1);
}
return items[index];
}
int VectorArray::size() {
printf("VectorArray: size %d self=%p\n",maxsize,this);
return maxsize;
}