C++定义一个点类实现两点距离的计算

时间:2025-04-15 18:05:38

题目:

定义一个点类Point,类Point中有两个数据成员:横坐标x,纵坐标y。

       double x,y;

主程序如下:

void main()

{

   Point a,b,c;

   (7.8,9.8);

   (34.5,67.8);

   c=a;

   cout<<"a和b两点之距为:"<<(b)<<endl;

   cout<<"b和c两点之距为:"<<(c)<<endl;

   cout<<"a和c两点之距为:"<<(c)<<endl;

   (26.7,58); //将c点的坐标移动到参数所指定的位置

   cout<<"c("<<()<<","<<()<<")"<<endl;//输出c点的坐标

}

程序运行结果如下:

a和b两点之距为:63.8505

b和c两点之距为:63.8505

a和c两点之距为:0

c(26.7,58)

 

要求提示:本题要求大家根据main()函数对Point类的使用,写出Point类的定义

用来输出两点距离的函数的原型为double Distance(const Point&)

 

代码:

#include<iostream>
#include<cmath>
using namespace std;
class point
{
public:
	double x, y;
	void set(double x_, double y_)
	{
		x = x_;
		y = y_;
	}
	double Distance(const point &m)
	{
		double h;
		h = (x - ) * (x - ) + (y - ) * (y - );
		return sqrt(h);
	}
	void move(double m, double n)
	{
		x = m;
		y = n;
	}
	double getx()
	{
		return x;
	}
	double gety()
	{
		return y;
	}

};
int main()
{
	point a, b, c;
	cout << "=";
	cin >> ;
	cout << endl;
	cout << "=";
	cin >> ;
	cout << endl;
	cout << "=";
	cin >> ;
	cout << endl;
	cout << "=";
	cin >> ;
	cout << endl;
	c = a;
	cout << "a和b两点之距为:" << (b) << endl;

	cout << "b和c两点之距为:" << (c) << endl;

	cout << "a和c两点之距为:" << (c) << endl;
	double m, n;
	cout << "m=";
	cin >> m;
	cout << endl;
	cout << "n=";
	cin >> n;
	(m, n);
	cout << "c(" << () << "," << () << ")" << endl;
	return 0;
}

 

 

 

相关文章