So i got this for homework.
I need to create a class vector as a template and define operations on vectors.
And this is what I made.Can someone check it and make some changes so that this programme actually works? Than you.
#include<iostream>
using namespace std;
template<class T>
classVektor
{
T *v;
size_t size;
public:
Vektor(){};
Vektor(size_t s)
{
s=size;
};
T& operator[](int idx)
{
return v[idx];
};
Vektor& operator+(Vektor& w);
Vektor& operator-(Vektor& w);
float operator*(Vektor& w);
Vektor& operator=(Vektor& w);
Vektor& operator+=(Vektor& w);
Vektor& operator-=(Vektor& w);
T& max()const;
T& min()const;
void ispis()
{
for(int i=0;i<vel;i++)
cout<< v[i] <<" ";
};
};
template<class T>
Vektor& Vektor<v>::operator+(Vektor& w)
{
Vektor *z=new Vektor(vel);
for(int i=0;i<vel;i++)
{
(*z)[i]=v[i]+w[i];
};
return (*z);
}
template<class T>
Vektor& Vektor<v>::operator-(Vektor& w)
{
Vektor *r=new Vektor(vel);
for(int i=0;i<vel;i++)
{
(*r)[i]=v[i]-w[i];
};
return (*r);
}
template<class T>
float Vektor<v>::operator*(Vektor& w)
{
float skalarni_produkt=0;
for(int i=0;i<vel;i++)
{
skalarni_produkt=skalarni_produkt+(v[i]*w[i]);
}
return skalarni_produkt;
}
template<class T>
Vektor& Vektor<v>::operator=( Vektor& w)
{
for(int i=0;i<vel;i++)
v[i]=w[i];
vel=w.vel;
return *this;
}
template<class T>
Vektor& Vektor<v>::operator+=(Vektor& w)
{
for(int i=0;i<vel;i++)
v[i]=v[i]+w[i];
return *this;
}
template<class T>
Vektor& Vektor<v>::operator-=(Vektor& w)
{
for(int i=0;i<vel;i++)
v[i]=v[i]-w[i];
return *this;
}
int main()
{
int x=3;
Vektor A(x);
Vektor B(x);
cout<<"A=";
for(int i=0;i<x;i++)
{
A[i]=i+1;
cout<< A[i] <<" ";
}
cout<<endl;
cout<<"B=";
for(int i=0;i<x;i++)
{
B[i]=i+3;
cout<< B[i] <<" ";
}
cout<<endl;
cout<<endl;
cout<<"Zbroj vektora A i B je vektor C"<<endl;
Vektor C=A+B;
cout<<"C=";
C.ispis();
cout<<endl;
cout<<endl;
cout<<"Razlika vektora A i B je vektor D"<< endl;
Vektor D=B-A;
cout<<"D=";
D.ispis();
cout<<endl;
cout<<endl;
float skalarniprodukt=A*B;
cout<< "Skalarni produkt vektora A i B je "<<skalarniprodukt<<endl;
cout<<endl;
cout<<"X=";
Vektor X=A;
X.ispis();
return 1;
}
You mean homework like find the errors?
the best one is return 1;
in main()