/tags/rel-2.0.2/Examples/tcl/reference/example.cxx
# · C++ · 46 lines · 35 code · 9 blank · 2 comment · 3 complexity · 2fb046e512cf8c73b15e5c64d25c5f3d MD5 · raw file
- /* File : example.cxx */
- /* Deal with Microsoft's attempt at deprecating C standard runtime functions */
- #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER)
- # define _CRT_SECURE_NO_DEPRECATE
- #endif
- #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;
- }
- VectorArray::~VectorArray() {
- delete [] items;
- }
- Vector &VectorArray::operator[](int index) {
- if ((index < 0) || (index >= maxsize)) {
- printf("Panic! Array index out of bounds.\n");
- exit(1);
- }
- return items[index];
- }
- int VectorArray::size() {
- return maxsize;
- }