/////// File Vector.h /////// #ifndef Vector_SEEN__ #define Vector_SEEN__ #include typedef unsigned int Dim; #define OP operator class Vector { friend Vector& OP += (Vector&, const Vector&); friend Vector OP * (const Vector& v, double s); public: Vector(); Vector(Dim n); Vector(Dim n, double* arr); ~Vector() { delete v; } // destructor Vector(const Vector& vec); // copy constructor Vector& OP = (const Vector& vec); // assignment Vector& OP += (const Vector& vec); double& OP [] (int i); Vector OP + (const Vector& vec) const; Vector& OP * (const Vector& vec) const; void display(); protected: double* v; // dynamic double array Dim len; // vector length double inner(double* w); }; inline Vector OP * (double s, const Vector& v) { return( v * s ); } inline Vector::Vector() // default constructor : v(NULL), len(0) { } inline Vector::Vector(Dim n) // constructor : v(new double[n]), len(n) { } #endif /////// End of File Vector.h ///////