#include using namespace std; template class Vektor { private: T *data; unsigned int groesse; public: Vektor(unsigned int Groesse); Vektor(Vektor const& v); Vektor(); friend ostream& operator<<(ostream& o, const Vektor& other); Vektor operator+(Vektor const& v) const ; Vektor(unsigned int groesse, T* daten); T const& operator[](unsigned int const index) const ; T & operator[](unsigned int const index) ; unsigned int Groesse() const { return groesse; }; }; template ostream& operator<<(ostream& o, const Vektor& other) { /* for(int i=0; i Vektor :: Vektor(unsigned int Groesse, T* daten) { data = new T[Groesse]; groesse = Groesse; for(unsigned int i = 0; i < groesse; i++) data[i]=daten[i]; } template Vektor::Vektor(unsigned int Groesse) { groesse = Groesse; data = new T[Groesse]; } template Vektor Vektor::operator+(Vektor const& v) const { if (groesse!=v.groesse) throw "falsche Laenge"; Vektor Ergebnis(groesse); for (unsigned int position=0;position T const& Vektor::operator[](unsigned int const index) const { return data[index]; } template T & Vektor::operator[](unsigned int const index) { return data[index]; }