C++ 编写点坐标(Point)的类 10

该类可以提供移动,求到另一点的距离,获取X坐标和Y坐标等操作,也可以设置X坐标和Y坐标的值。要求有拷贝构造函数。数据成员为X坐标和Y坐标。... 该类可以提供移动,求到另一点的距离,获取X坐标和Y坐标等操作,也可以设置X坐标和Y坐标的值。要求有拷贝构造函数。数据成员为X坐标和Y坐标。 展开
 我来答
kelaze
推荐于2017-11-22 · 超过80用户采纳过TA的回答
知道小有建树答主
回答量:160
采纳率:77%
帮助的人:65.2万
展开全部
#include <iostream>
#include <math.h>

/*
该类可以提供移动,求到另一点的距离,
获取X坐标和Y坐标等操作,也可以设置X坐标和Y坐标的值。
要求有拷贝构造函数。数据成员为X坐标和Y坐标。
*/
using namespace std;

class Point{
public:
Point(); //不带参数构造函数
Point(int X, int Y); //带参数的构造函数
Point(const Point &p); //拷贝构造函数;
int getX(); //获取横坐标
int getY(); //获取纵坐标
void setX(int iX); //设置横坐标
void setY(int iY); //设置纵坐标
float distance(Point p1, Point p2); //计算两点的距离
protected:

private:
int x; //横坐标
int y; //纵坐标
};

int main()
{
Point pos;
Point pt(10, 10);
Point pts(pt);
cout << "获取pos的坐标值" << endl;
cout << "X:" << pos.getX() << endl;
cout << "Y:" << pos.getY() << endl;
pos.setX(20);
pos.setY(20);
cout << "获取pos的设置后的坐标值" << endl;
cout << "X:" << pos.getX() << endl;
cout << "Y:" << pos.getY() << endl;

cout << "获取pt的坐标值" << endl;
cout << "X:" << pt.getX() << endl;
cout << "Y:" << pt.getY() << endl;

cout << "获取pts的坐标值" << endl;
cout << "X:" << pos.getX() << endl;
cout << "Y:" << pos.getY() << endl;

cout << "输出pos与pt之间的距离" << endl;
cout << "X:" << pos.distance(pos, pt) << endl;

return 0;
}

Point::Point()
{
x = 0;
y = 0;
}

Point::Point(int X, int Y)
{
x = X;
y = Y;
}

Point::Point(const Point &p)
{
x = p.x;
y = p.y;
}

int Point::getX()
{
return x;
}

int Point::getY()
{
return y;
}

void Point::setX(int iX)
{
x = iX;
}

void Point::setY(int iY)
{
y = iY;
}

float Point::distance(Point p1, Point p2)
{
float dist;

dist = sqrt(pow(p1.x - p2.x, 2) + pow(p1.y - p2.y, 2));
return dist;
}
上海华然企业咨询
2024-10-21 广告
上海华然企业咨询有限公司专注于AI与数据合规咨询服务。我们的核心团队来自头部互联网企业、红圈律所和专业安全服务机构。凭借深刻的AI产品理解、上百个AI产品的合规咨询和算法备案经验,为客户提供专业的算法备案、AI安全评估、数据出境等合规服务,... 点击进入详情页
本回答由上海华然企业咨询提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式