将Vector类推广到N维空间上,即矢量对象Ob( ,……,Xn-1),该如何实现以上功能?
#include
using namespace std;
class Vector//矢量类的定义
{
public://外部接口,公有成员函数
Vector(int X=0,int Y=0){x=X;y=Y;}
Vector Add(const Vector &v)//矢量的加法
{
Vector temp;
temp.x=x+v.x;
temp.y=y+v.y;
return temp;
}
Vector Sub(const Vector &v)//矢量的减法
{
Vector temp;
temp.x=x-v.x;
temp.y=y-v.y;
return temp;
}
Vector Mult(const Vector &v)//矢量的乘法
{
Vector temp;
temp.z=x*v.x+y*v.y;
return temp;
}
void print()
{
cout<<"("<","<")"<void display()
{
cout<private://私有数据成员
int x,y,z;
};
int main()
{
Vector v1(2,3),v2(1,2);
Vector v,s,m;
v=v1.Add(v2);s=v1.Sub(v2);m=v1.Mult(v2);
cout<<"v1=";v1.print();cout<<"v2=";v2.print();
cout<<"v1+v2=";
v.print();
cout<<"v1-v2=";
s.print();
cout<<"v1*v2=";
m.display();
return 0;
}
参考Eigen库?