C++做一个点类的问题!!

来源:百度知道 编辑:UC知道 时间:2024/06/21 10:10:14
要求设计点类.具有set函数.display函数,能实现两个点相加(矢量之和)。
希望各伴位大虾帮帮忙,见我的错误在哪里??我编译有很多错误啊??
看看怎么改呢??谢谢

#include <iostream.h>

class Point{
private:
double x,y;
public:
void set(double a,double b)
{ x=a;y=b;}
void display() const;
double vectorsum();
}

void Point::display() const;
{
cout<<"横坐标为:"<<x<<"纵坐标为:"<<y<<endl;
}

double Point::vectorsum( double p1,double p2)
{
double abscissa,ordinate;
p1.set(x1,y1);
p2.set(x2,y2);
abscissa=x1+x2;
ordinate=y1+y2;
cout<<"("<<abscissa<<","<<ordinate<<")"endl;
}

void main()
{
Point p1,p2,p;
p1.set(3,5);
p1.display();
p2.set(4,6);
p2.display();
cout<<"两点相加为"<<p.vectorsum(double p1,double p2)<<endl;
}

#include <iostream.h>
#include <math.h>

class Point{
private:
double x,y;
public:
void set(double a,double b)
{ x=a;y=b;}
void display() const;
double vectorsum(Point p1,Point p2);
};

void Point::display() const
{
cout<<"横坐标为:"<<x<<"纵坐标为:"<<y<<endl;
}

double Point::vectorsum( Point p1,Point p2)
{
double abscissa,ordinate;
// p1.set(x1,y1);
// p2.set(x2,y2);
abscissa=p1.x+p2.x;
ordinate=p1.y+p2.y;
cout<<"("<<abscissa<<","<<ordinate<<")"<<endl;
double length=sqrt((p1.x+p2.x)*(p1.x+p2.x)+(p1.y+p2.y)*(p1.y+p2.y));
return length;
}

void main()
{
Point p1,p2,p;
p1.set(3,5);
p1.display();
p2.set(4,6);
p2.display();
cout<<"两点相加为
"<<p.