2024年4月28日发(作者:)

面向对象程序设计实验报告

题目1:

1. 问题描述:

建立一个二维坐标系的类TwoCoor,用x、y表示坐标值,实现两坐标点的

加、减运算,计算两坐标点间的距离,并重载输入/输出坐标点的坐标值。

2. 实现代码:

#include

#include

using std::ostream;

using std::istream;

using namespace std;

class TwoCoor

{

private:

double x,y; //x,y分别为横纵坐标

public:

TwoCoor(double x1=0,double y1=0):x(x1),y(y1){}

TwoCoor sum(TwoCoor &a1,TwoCoor &a2)

//实现两坐标的加运算

{

TwoCoor c;

c.x=a1.x+a2.x;

c.y=a1.y+a2.y;

return c;

}

TwoCoor subtract(TwoCoor &a1,TwoCoor &a2)

//实现两坐标的减运算

{

TwoCoor c;

c.x=a1.x-a2.x;

c.y=a1.y-a2.y;

return c;

}

double distance(TwoCoor &a1,TwoCoor &a2)

//计算两坐标的距离

{

double d; //距离为d

d=sqrt((a1.x-a2.x)*(a1.x-a2.x)+(a1.y-a2.y)*(a1.y-a2.y));

return d;

}

friend ostream &operator<<(ostream &os,TwoCoor &a);

friend istream &operator>>(istream &is,TwoCoor &a);

};

ostream &operator<<(ostream &os,TwoCoor &a)

{

os<<"("<

return os;

}

istream &operator>>(istream &is,TwoCoor &a)

{

is>>a.x>>a.y;

return is;

}

int main()

{

TwoCoor a,b; //定义TwoCoor类的对象a,b

cout<<"-------下面请输入数据-------"<

cout<<"请分别输入TwoCoor类对象a的坐标值x,y"<

cin>>a;

cout<<"请分别输入TwoCoor类对象b的坐标值x,y"<

cin>>b;

cout<

cout<<"a的坐标为:";

cout<

cout<<"b的坐标为:";

cout<

cout<<"a+b为:";

TwoCoor c=(a,b);

cout<

cout<<"a-b为:";

TwoCoor d=ct(a,b);

cout<

cout<<"a点与b点的距离为:";

cout<

return 0;

}