题目
定义一个描述二维坐标系中点对象的类Point,它具有下述成员函数:
Point(); //不带参构造函数
Point(double x,double y); //带参构造函数
double r(); //计算极坐标的极半径
double theta(); //计算极坐标的极角 (使用atan2函数)
double distance(const Point &p); //计算与点p的距离
Point relative(const Point &p); //计算相对于点p的相对坐标
int is_above_left(const Point&p); //判断是否在点p的左上方(1表示是,0表示不是)
//windows下坐标原点为屏幕左上角,X轴向右,Y轴向下
void set_x(double x); //重新设置x的值
void set_y(double y); //重新设置y的值
double get_x(); //提取x的值
double get_y(); //提取y的值
7 8 4 4
(0,0)
(7,8)
(-3,-4)
p的极半径=5.65685,P的极角=0.785398
p2与p的距离=5,点p2不在p的左上方,p在p2的左上方
请按任何键继续.
用以下程序调试,输出结果见图(其中最上一行是输入的数据,其它是输出的结果)
void print(Point &p) //输出坐标
{cout >w;
print(p);
Point p2(x,y);
p.set_x(z);
p.set_y(w);
print(p2);
print(p.relative(p2));
cout
Point(); //不带参构造函数
Point(double x,double y); //带参构造函数
double r(); //计算极坐标的极半径
double theta(); //计算极坐标的极角 (使用atan2函数)
double distance(const Point &p); //计算与点p的距离
Point relative(const Point &p); //计算相对于点p的相对坐标
int is_above_left(const Point&p); //判断是否在点p的左上方(1表示是,0表示不是)
//windows下坐标原点为屏幕左上角,X轴向右,Y轴向下
void set_x(double x); //重新设置x的值
void set_y(double y); //重新设置y的值
double get_x(); //提取x的值
double get_y(); //提取y的值
7 8 4 4
(0,0)
(7,8)
(-3,-4)
p的极半径=5.65685,P的极角=0.785398
p2与p的距离=5,点p2不在p的左上方,p在p2的左上方
请按任何键继续.
用以下程序调试,输出结果见图(其中最上一行是输入的数据,其它是输出的结果)
void print(Point &p) //输出坐标
{cout >w;
print(p);
Point p2(x,y);
p.set_x(z);
p.set_y(w);
print(p2);
print(p.relative(p2));
cout
提问时间:2021-04-02
答案
#include
#include
class Point
{
private:
x05double m_x;
x05double m_y;x05
public:
x05Point()
x05{
x05x05m_x = 0.0;
x05x05m_y = 0.0;
x05}
x05
x05Point(double x,double y)
x05{
x05x05m_x = x;
x05x05m_y = y;x05x05
x05}
x05
x05~Point()
x05{
x05x05
x05}
x05
x05double r()
x05{
x05x05return sqrt(m_x*m_x + m_y*m_y);
x05}
x05
x05double theta()
x05{
x05x05return atan2(m_y,m_x);
x05}
x05
x05double distance(const Point &p)
x05{
x05x05double dx = p.get_x() - m_x;
x05x05double dy = p.get_y() - m_y;
x05x05
x05x05return (dx*dx + dy*dy);
x05}
x05
x05Point &relative(const Point &p)
x05{
x05x05double x = m_x - p.get_x();
x05x05double y = m_y - p.get_y();
x05x05
x05x05Point point(x,y);
x05x05
x05x05return point;
x05}
x05
x05int is_above_left(const Point &p)
x05{
x05x05if(m_x < p.get_x() && m_y > p.get_y())
x05x05{
x05x05x05return 1;
x05x05}
x05x05
x05x05return 0;
x05}
x05
x05void set_x(double x)
x05{
x05x05m_x = x;
x05}
x05
x05void set_y(double y)
x05{
x05x05m_y = y;
x05}
x05
x05double get_x() const
x05{
x05x05return m_x;
x05}
x05
x05double get_y() const
x05{
x05x05return m_y;
x05}
};
#include
class Point
{
private:
x05double m_x;
x05double m_y;x05
public:
x05Point()
x05{
x05x05m_x = 0.0;
x05x05m_y = 0.0;
x05}
x05
x05Point(double x,double y)
x05{
x05x05m_x = x;
x05x05m_y = y;x05x05
x05}
x05
x05~Point()
x05{
x05x05
x05}
x05
x05double r()
x05{
x05x05return sqrt(m_x*m_x + m_y*m_y);
x05}
x05
x05double theta()
x05{
x05x05return atan2(m_y,m_x);
x05}
x05
x05double distance(const Point &p)
x05{
x05x05double dx = p.get_x() - m_x;
x05x05double dy = p.get_y() - m_y;
x05x05
x05x05return (dx*dx + dy*dy);
x05}
x05
x05Point &relative(const Point &p)
x05{
x05x05double x = m_x - p.get_x();
x05x05double y = m_y - p.get_y();
x05x05
x05x05Point point(x,y);
x05x05
x05x05return point;
x05}
x05
x05int is_above_left(const Point &p)
x05{
x05x05if(m_x < p.get_x() && m_y > p.get_y())
x05x05{
x05x05x05return 1;
x05x05}
x05x05
x05x05return 0;
x05}
x05
x05void set_x(double x)
x05{
x05x05m_x = x;
x05}
x05
x05void set_y(double y)
x05{
x05x05m_y = y;
x05}
x05
x05double get_x() const
x05{
x05x05return m_x;
x05}
x05
x05double get_y() const
x05{
x05x05return m_y;
x05}
};
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
1,人们染上烟瘾,最终因吸烟使自己丧命.
最新试题
热门考点
- 1急:地球仪是地球的模型,下列地理概念不可能在地球仪上找到的是
- 2I usually do my homework after school.对do my homework.提问
- 3若a小于b,小于0,那么下列结论成立的是:a.a分之一小于b分之一,b.ab小于1.c.b分之a大于1.d.b分之a小于1
- 4假如我有一只尼尔斯的鹅 作文
- 5一个正方形边长8厘米,以一条边为直径画一个半圆,再以另一条边为直径画一个1/4圆求中间夹着的阴影面积
- 6火箭发射时,高温的火焰向下喷射,大量的白气从发射台底部的大水池中涌出,这些白气是什么?
- 7Mr Green整天忙于我的工作(英语)
- 8与竟然相对应的词语是
- 9长江中下游地区的主要气象灾害是什么?
- 10HOME ADDRESS的英文