Problem D: 平面上的点和线——Point类、Line类 (V)

网友投稿 710 2022-11-06

Problem D: 平面上的点和线——Point类、Line类 (V)

Problem D: 平面上的点和线——Point类、Line类 (V)

Problem D: 平面上的点和线——Point类、Line类 (V)

Description

在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定,两点确定一条线段。现在我们封装一个“Point类”和“Line类”来实现平面上的点的操作。

根据“append.cc”,完成Point类和Line类的构造方法和show()方法,输出各Line对象和Point对象的构造和析构次序。

接口描述:

Point::show()方法:按格式输出Point对象。

Line::show()方法:按格式输出Line对象。

Line::SetLine(double, double, double, double)方法:设置Line对象起点的x,y坐标(第一个和第二参数)和终点的x,y坐标(第三个和第四个坐标),并返回本对象

Line::SetLine(const Point &, const Point &)方法:设置Line对象的起点(第一个参数)和终点(第二个坐标),并返回本对象

Line::SetLine(const Line&)方法:设置Line对象,复制参数的坐标,并返回本对象

Line::readLine()方法:从标准输入上读入坐标,格式见Sample

Input

输入的第一行为N,表示后面有N行测试样例。

每行为两组坐标“x,y”,分别表示线段起点和终点的x坐标和y坐标,两组坐标间用一个空格分开,x和y的值都在double数据范围内。

Output

输出为多行,每行为一条线段,起点坐标在前终点坐标在后,每个点的X坐标在前,Y坐标在后,Y坐标前面多输出一个空格,用括号包裹起来。输出格式见sample。

C语言的输入输出被禁用。

#include using namespace std;class Point {private: double x, y;public: Point(double x = 0.0, double y = 0.0) : x(x), y(y) { cout << "Point : ("<> x1 >> c1 >> y1 >> x2 >> c2 >> y2; a.setXY(x1, y1); b.setXY(x2, y2); }};int main(){ int num, i; Point p(1, -2), q(2, -1), t; t.show(); std::cin>>num; Line line[num]; for(i = 0; i < num; i++) { line[i].readLine(); line[i].show(); } Line l1(p, q), l2(p,t), l3(q,t), l4(l1); l1.show(); l2.setLine(l1).show(); l3.show(); l4.setLine(t,q).show();}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:UVA 1339 Ancient Cipher——快速排序
下一篇:强制IE浏览器或WebBrowser控件使用指定版本显示网页
相关文章

 发表评论

暂时没有评论,来抢沙发吧~