/*
* Copyright (c) 2016,烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称:main.cpp
* 作 者:胡庆龙
* 完成日期:2016年4月8日
* 版 本 号:v1.0
*
*问题描述:写一个点类,分别用类的友元函数、类的成员函数和普通函数求两个点的距离
*/
#include <iostream>
#include <cmath>
using namespace std;
class CPoint
{
public:
CPoint(double xx = 0,double yy = 0):x(xx),y(yy){}
friend void distance_two(CPoint &op1,CPoint &op2);
double retdatx(){return x;}
double retdaty(){return y;}
void distance_one(CPoint &op){cout << sqrt((x-op.x)*(x-op.x)+(y-op.y)*(y-op.y)) << endl;}
private:
double x;
double y;
};
void distance_two(CPoint &op1,CPoint &op2)
{
cout << sqrt((op1.x-op2.x)*(op1.x-op2.x)+(op1.y-op2.y)*(op1.y-op2.y)) << endl;
}
void distance_three (CPoint &op1,CPoint &op2)
{
cout << sqrt((op1.retdatx() - op2.retdatx())*(op1.retdatx() - op2.retdatx())
+(op1.retdaty() - op2.retdaty())*(op1.retdaty() - op2.retdaty())) << endl;
}
int main()
{
CPoint p1(0,0),p2(2,0);
p1.distance_one(p2);
distance_two(p1,p2);
distance_three(p1,p2);
return 0;
}
点类
最新推荐文章于 2023-06-06 09:02:02 发布