C++ template vector 有关问题

C++ template vector 问题
MyVector.h

#ifndef _MYVECTOR_H_
#define _MYVECTOR_H_

#include <cmath>
#include <iostream>
#include <iomanip>
#include <vector>

using namespace std;

template <typename T>
class MyVector {
public:
MyVector ();
~MyVector ();
  ........
  ......
  ......
private:
  std::vector<T> vPoint;
};

template <typename T>
inline MyVector<T> operator* (const T val, const MyVector<T>& myVector) {
  return myVector * val;
}

template <typename T>
std::ostream& operator<<(std::ostream& stream, const MyVector<T>& myVector) {
  stream << fixed;
  stream << setprecision(2); 
  for (int i=0; i<myVector.getDimension(); i++) {
  stream << myVector[i] << " ";
  }
  return stream;
}

#include "MyVector.cpp"

#endif 


MyVector.cpp
#include "MyVector.h"

template <typename T>
MyVector<T>::MyVector(){

}

template <typename T>
MyVector<T>::~MyVector (){

}
........


Debug时问题
Multiple markers at this line
- redefinition of ‘MyVector<T>::MyVector()’
- ‘MyVector<T>::MyVector()’ previously declared here

大家指点一下......


------解决方案--------------------
看你这个错误 应该是你的CPP 里面也需要
#ifndef MyVector_CPP
#define MyVector_CPP

//code

#endif