// File:			vector.hpp
// ---------------------------------------------------------------------
// Author:          Russell Lowke, lowke@fas.harvard.edu
// TF:              Francis Crick
// Date modified:   7/24/2002
// Assignment:      Unit 6 Main programming exercises
// Version:			1
//
// Description:
//

#ifndef VECTOR_HPP
#define VECTOR_HPP

#include <iostream>
#include <cassert>
#include <cmath>

// Put the declarations (not definitions) for the vector class here.

class vector {

	private:
		int length;
		int * components;
		
	
	public:
		     vector(int size);				// constructor
		    ~vector();						// destructor
		     vector(const vector& v);		// deep copy
		void vector::initComponents();
		void set_value(int i, int value);
		 int get_value(int i);
	  double get_norm();
		
		friend ostream& operator <<(ostream& os, const vector& v);
		friend bool operator ==(const vector& v1, const vector& v2);
		friend vector operator +(const vector& v1, const vector& v2);
		friend vector operator -(const vector& v1, const vector& v2);
		friend int operator *(const vector& v1, const vector& v2);
		
		const vector& operator = (const vector& v);

};

#endif // VECTOR_HPP
