#include "Vector.h" Vector::Vector( double x, double y, double z ) : x_( x ), y_( y ), z_( z ) { } double Vector::x() const { return x_; } double Vector::y() const { return y_; } double Vector::z() const { return z_; } Vector& Vector::operator=( const Vector& u ) { x_ = u.x_; y_ = u.y_; z_ = u.z_; return *this; } Vector operator+(const Vector& v1, const Vector& v2) { Vector ret( v1.x() + v2.x(), v1.y() + v2.y(), v1.z() + v2.z() ); return ret; } double operator*(const Vector& v1, const Vector& v2) { double ret( v1.x() * v2.x() + v1.y() * v2.y() + v1.z() * v2.z() ); return ret; } ostream& operator<<( ostream& o, const Vector& v ) { o << "(" << v.x() << ", " << v.y() << ", " << v.z() << ")"; return o; }