第六周项目4.2 成员函数 友元函数和一般函数有区别——点类
2015-04-10 16:31
288 查看
/* *Copyright (c)2015,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:score.cpp *作 者:惠睿 *完成日期:2015年4月10日 *版 本 号:v1.0 * *问题描述:分别利用成员函数 友元函数和一般函数求两点间距离,并设计 main 函数完成测试。 *程序输入:输入点的坐标。 *程序输出:输出点的距离。 */ #include <iostream> #include <cmath> using namespace std; class CPoint { private: double x; double y; public: CPoint(double xx=0,double yy=0):x(xx),y(yy) {} double Distance1(CPoint p1); friend double Distance2(CPoint &p1,CPoint &p2); double getx(); double gety(); void input(); }; double CPoint::Distance1(CPoint p1) { double dx,dy; dx=p1.x-x; dy=p1.y-y; return sqrt(dx*dx+dy*dy); } double Distance2(CPoint &p1,CPoint &p2) { double dx,dy; dx=p1.x-p2.x; dy=p1.y-p2.y; return sqrt(dx*dx+dy*dy); } double CPoint::getx() { return x; } double CPoint::gety() { return y; } void CPoint::input() { char a; cout<<"格式(x,y)"; cin>>x>>a>>y; if(a!=',') cout<<"形式错误,请重新输入!"<<endl; } double Distance3(CPoint &p1,CPoint &p2) { double x1,x2,dx,y1,y2,dy; x1=p1.getx(); x2=p2.getx(); y1=p1.gety(); y2=p2.gety(); dx=x1-x2; dy=y1-y2; return sqrt(dx*dx+dy*dy); } int main() { double d1,d2,d3; CPoint c1,c2; cout<<"请输入点的坐标:"; c1.input(); cout<<"请输入点的坐标:"; c2.input(); d1=c1.Distance1(c2); d2=Distance2(c1,c2); d3=Distance3(c1,c2); cout<<"两点之间距离为:"<<endl<<"调用成员函数:"<<d1<<endl<<"调用友元函数:"<<d2<<endl<<"调用一般函数:"<<d3<<endl; return 0; }
运行结果:
相关文章推荐
- 第六周 项目四-成员函数、友元函数和一般函数有区别
- 第六周 项目4-成员函数、友元函数和一般函数的区别---一般函数
- 第六周 项目四:成员函数、友元函数和一般函数有区别
- 第六周 项目四-成员函数、友元函数和一般函数有区别 阅读
- 第六周 项目四-成员函数、友元函数和一般函数有区别 一般函数
- 第六周【项目4-成员函数、友元函数和一般函数有区别】
- 第六周项目四 成员函数、友元函数和一般函数有区别
- 第六周 项目四-成员函数、友元函数和一般函数有区别 成员函数
- 第六周项目四 成员函数、友元函数和一般函数区别
- 第六周项目4 成员函数 友元函数与一般函数的区别
- 第六周 项目四--成员函数、友元函数和一般函数有区别(1)
- 第六周项目四成员函数、友元函数和一般函数有区别(1)
- 第六周项目四--成员函数、友元函数和一般函数的区别(求两点的距离)
- 第六周 项目四--成员函数、友元函数和一般函数有区别 友元函数
- 第六周 项目四-成员函数、友元函数和一般函数有区别之一般函数
- 第六周 【项目4-成员函数、友元函数和一般函数有区别】
- 第六周项目四:成员函数、友元函数和一般函数有区别(实践项目)
- 第六周 项目四--成员函数、友元函数和一般函数有区别(2)
- 第六周项目四成员函数,友元函数和一般函数有区别
- 2015年第六周项目四:成员函数、友元函数和一般函数有区别