#include
#include
using namespace std;
class Vector;
ostream & operator << ( ostream & output,Vector&);
istream & operator >> ( istream & input,Vector&);
class Vector
{
public:
int L;
Vector(int w)
{
vector=new int[w];
L=w;
}
int *vector;
Vector operator +(Vector b)
{
Vector c(b.L);
for (int i=0;i
c.vector[i]=vector[i]+b.vector[i];
}
return c;
}
Vector operator -(Vector b)
{
Vector c(b.L);
for (int i=0;i
b.vector[i]=vector[i]-b.vector[i];
}
return c;
}
int operator *(Vector b)
{
int temp=0;
for (int i=0;i
temp+=(vector[i]*b.vector[i]);
}
return temp;
}
};
ostream & operator<<(ostream & output,Vector &A)
{
output<<"(";
for (int i=0;i
cout<
}
output<<")"<
}
istream & operator>> (istream & input,Vector &A)
{
for (int i=0;i
input>>A.vector[i];
}
return input;
}
void main()
{
cout<<"?入?度:";
int n;
cin>>n;
Vector a(n);
Vector b(n);
Vector c(n);
Vector d(n);
cout<<"?入向量1,以空格?分";
cin>>a;
cout<<"?入向量2,以空格?分";
cin>>b;
int cheng=a*b;
c=a+b;
c=a-b;
cout<<"加";
cout< cout<<"?";
cout< cout<<"乘";
cout<
定义不统一, istream &operator >> (istream & input,Vector &A) 声明的时候后一个参数没写 &
friend ostream &operator << (ostream & output,Vector);
friend istream &operator >> (istream & input,Vector);
声明和实现不一样.修改为:
friend ostream &operator << (ostream & output,Vector&);
friend istream &operator >> (istream & input,Vector&);