/tags/rel-1-3-15/SWIG/Examples/perl5/reference/example.cxx
C++ | 41 lines | 32 code | 8 blank | 1 comment | 2 complexity | d413ab5f3aa59934acb6a678aeca301e MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
1/* File : example.cxx */
2
3#include "example.h"
4#include <stdio.h>
5#include <stdlib.h>
6
7Vector operator+(const Vector &a, const Vector &b) {
8 Vector r;
9 r.x = a.x + b.x;
10 r.y = a.y + b.y;
11 r.z = a.z + b.z;
12 return r;
13}
14
15char *Vector::print() {
16 static char temp[512];
17 sprintf(temp,"Vector %x (%g,%g,%g)", this, x,y,z);
18 return temp;
19}
20
21VectorArray::VectorArray(int size) {
22 items = new Vector[size];
23 maxsize = size;
24}
25
26VectorArray::~VectorArray() {
27 delete [] items;
28}
29
30Vector &VectorArray::operator[](int index) {
31 if ((index < 0) || (index >= maxsize)) {
32 printf("Panic! Array index out of bounds.\n");
33 exit(1);
34 }
35 return items[index];
36}
37
38int VectorArray::size() {
39 return maxsize;
40}
41