Problem E: 平面上的点和线——Point类、Line类 (V)
Description
Input
Output
Sample Input
Sample Output
HINT
Append Code
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();
}
#include<iostream>
using
namespace
std;
class
Point{
friend
class
Line;
private
:
double
x,y;
public
:
Point(
double
a=0,
double
b=0):x(a),y(b){cout<<
"Point : ("
<<x<<
", "
<<y<<
") is created."
<<endl;}
Point(
const
Point&p){x=p.x;y=p.y;cout<<
"Point : ("
<<x<<
", "
<<y<<
") is copied."
<<endl;}
~Point(){cout<<
"Point : ("
<<x<<
", "
<<y<<
") is erased."
<<endl;}
void
show(){cout<<
"Point : ("
<<x<<
", "
<<y<<
")"
<<endl;}
};
class
Line{
friend
class
Point;
private
:
Point p1,p2;
public
:
Line(Point &p,Point &q):p1(p),p2(q){cout<<
"Line : ("
<<p1.x<<
", "
<<p1.y<<
") to ("
<<p2.x<<
", "
<<p2.y<<
") is created."
<<endl;}
Line(
double
x1=0,
double
y1=0,
double
x2=0,
double
y2=0):p1(x1,y1),p2(x2,y2){cout<<
"Line : ("
<<p1.x<<
", "
<<p1.y<<
") to ("
<<p2.x<<
", "
<<p2.y<<
") is created."
<<endl;}
Line(
const
Line&l):p1(l.p1),p2(l.p2){cout<<
"Line : ("
<<p1.x<<
", "
<<p1.y<<
") to ("
<<p2.x<<
", "
<<p2.y<<
") is copied."
<<endl;}
~Line(){cout<<
"Line : ("
<<p1.x<<
", "
<<p1.y<<
") to ("
<<p2.x<<
", "
<<p2.y<<
") is erased."
<<endl;}
Line& setLine(
double
a,
double
b,
double
c,
double
d){p1.x=a;p1.y=b;p2.x=c;p2.y=d;
return
*
this
;}
Line& setLine(
const
Point &p,
const
Point &q){p1=p;p2=q;
return
*
this
;}
Line& setLine(
const
Line& l){*
this
=l;
return
*
this
;}
void
show(){cout<<
"Line : ("
<<p1.x<<
", "
<<p1.y<<
") to ("
<<p2.x<<
", "
<<p2.y<<
")"
<<endl;}
void
readLine(){
char
c;cin>>p1.x>>c>>p1.y>>p2.x>>c>>p2.y;}
};
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();
}
Problem E: 平面上的点和线——Point类、Line类 (V)的更多相关文章
- Problem D: 平面上的点和线——Point类、Line类 (IV)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定,两点确定一条线段.现在我们封装一个“Point类”和“Line类”来实现平面上的点的操作. 根据“append ...
- Problem C: 平面上的点和线——Point类、Line类 (III)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定,两点确定一条线段.现在我们封装一个“Point类”和“Line类”来实现平面上的点的操作. 根据“append ...
- Problem B: 平面上的点和线——Point类、Line类 (II)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定,两点确定一条线段.现在我们封装一个“Point类”和“Line类”来实现平面上的点的操作. 根据“append ...
- Problem A: 平面上的点和线——Point类、Line类 (I)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定,两点确定一条线段.现在我们封装一个“Point类”和“Line类”来实现平面上的点的操作. 根据“append ...
- Problem F: 平面上的点——Point类 (VI)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定.现在我们封装一个“Point类”来实现平面上的点的操作. 根据“append.cc”,完成Point类的构造方 ...
- Problem E: 平面上的点——Point类 (V)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定.现在我们封装一个“Point类”来实现平面上的点的操作. 根据“append.cc”,完成Point类的构造方 ...
- Problem D: 平面上的点——Point类 (IV)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定.现在我们封装一个“Point类”来实现平面上的点的操作. 根据“append.cc”,完成Point类的构造方 ...
- Problem C: 平面上的点——Point类 (III)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定.现在我们封装一个“Point类”来实现平面上的点的操作. 根据“append.cc”,完成Point类的构造方 ...
- Problem B: 平面上的点——Point类 (II)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定.现在我们封装一个“Point类”来实现平面上的点的操作. 根据“append.cc”,完成Point类的构造方 ...
随机推荐
- 常量(constant)
在java语言中,主要用final来定义一个常量.常量一旦被初始化不能更改其值. 常量:大写字母和下划线:MAX_VALUE final double PI = 3.14; PI = 3.15;//编 ...
- Windows 循环根据进程名称 存在则删除该进程
@echo off:Looptasklist | findstr /i "javaw.exe" >nul 2>nul && (taskkill -f / ...
- Shiro框架配置-applicationContext里面的(仅提供借鉴)
<!-- 配置自定义realm --> <bean id="shiroAuthRealm" class="com.sykj.realm.ShiroAut ...
- UML与软件建模:第一次作业(用例图绘制)
一.小结 用例图是UML用于描述软件功能的图形.用例图包括用例.参与者及其关系,用例图也可以包括注释和结束. 用例图的要素: (1)参与者,即与用例存在交互关系的系统外部实体; (2)用例,用来描述个 ...
- pgRouting新增扩展
环境依赖:postgresql cgal boost perl 环境变量: boost环境变量 CGAL环境变量 postgresql环境变量 1.新建C++ 空项目 2,添加common引用,更改配 ...
- 在docker中运行.netcore程序
安装docker 获取core镜像 docker pull microsoft/dotnet 首先在https://hub.docker.com查找core官方镜像,相关参数设置https://hub ...
- 【杂】暴力出奇迹,lz水数据
做了个填涂颜色的题qwq 洛谷上的qwq,然后我就把这道题水过去了qwq(显然这是不对的,我们不能水数据qwq)当然我本身是80分的qwq end-
- 解决Git Revert操作后再次Merge代码被冲掉的问题
转:https://blog.csdn.net/paul_wei2008/article/details/77477932 https://blog.csdn.net/cxn945/article/d ...
- jemter分布式部署及linux下分布式脚本执行
jmeter进行接口性能测试,占用内存较大,在模拟千万计并发用户时,使用分布式部署进行分压测试. 操作步骤:选择一台机器作为调度机,其他机器作为执行机 一.jmeter分布式部署 前提条件:A.执行机 ...
- 初步接触gulp
首先是安装nodejs,通过nodejs的npm全局安装和项目安装gulp,其次在项目里安装所需要的gulp插件,然后新建gulp的配置文件gulpfile.js并写好配置信息(定义gulp任务),最 ...