#ifndef _DVector_h #define _DVector_h #include #include class DVector { public: // ================================================================ DVector(int sz); // optional size // ================================================================ DVector(const double*, int); // input array, size // ================================================================ DVector(const DVector&); // other DVector as input // ================================================================ ~DVector(); // destructor // ================================================================ DVector& operator=( const DVector&); // ================================================================ double& operator[](int); // ================================================================ int getSize(); double getMag(); void unitVector(); // friend ostream& operator << (ostream&, DVector&); void clear(); // ================================================================ double operator *(DVector&); //dot multiplication DVector operator ^(DVector&); //cross multiplication DVector operator * (double); DVector operator / (double); DVector operator + (DVector&); DVector operator - (DVector&); DVector operator % (DVector&); //C=A%B where C[i]=A[i]*B[i] (i=0,1,2) double *cv; void init(const double*, int); protected: int size; double mag; //void init(const double*, int); }; #endif