成员函数、友元函数和一般函数有区别2
2014-04-08 18:34
155 查看
/* * 程序的版权和版本声明部分: * Copyright (c) 2013, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:任子仪 * 完成日期:2014年 4月 8日 * 版 本 号:v12.1 * 深复制体验 * 输入描述:无 * 问题描述:。 * 程序输出: * 问题分析:略 * 算法设计:略 */ #include <iostream> #include <cmath> using namespace std; class CPoint { public: CPoint(double xx=0,double yy=0):x(xx),y(yy){} void input(); friend double distance0(CPoint &p,CPoint &s); double distance1(CPoint &p); double get_x(); double get_y(); private: double x; double y; }; void CPoint::input() { cout<<"请输入点的坐标:"; cin>>x>>y; } double distance0(CPoint &p,CPoint &s) { return sqrt((p.x-s.x)*(p.x-s.x)+(p.y-s.y)*(p.y-s.y)); } double CPoint::distance1(CPoint &p) { return sqrt((p.x-x)*(p.x-x)+(p.y-y)*(p.y-y)); } double CPoint::get_x() { return x; } double CPoint::get_y() { return y; } double distance2(CPoint p,CPoint s) { double x1=p.get_x(); double x2=s.get_x(); double y1=p.get_y(); double y2=s.get_y(); return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); } int main() { CPoint c1,c2; c1.input(); c2.input(); cout<<"两点间的距离为:"<<c1.distance1(c2)<<endl; //成员函数这样调用:对象名.函数名() cout<<"两点间的距离为:"<<distance0(c1,c2)<<endl; //友员函数的调用和一般函数无异(但实现中可以不同) cout<<"两点间的距离为:"<<distance2(c1,c2)<<endl; //一般函数的调用 return 0; }
示例图片:
相关文章推荐
- 第6周项目--成员函数、友元函数和一般函数有区别
- 第5周项目4-成员函数、友元函数和一般函数的区别
- 第六周 【项目4-成员函数、友元函数和一般函数有区别】
- 第六周项目4:成员函数,友元函数和一般函数有区别
- 第六周项目4-成员函数、友元函数和一般函数有区别
- 第六周 项目四 成员函数、友元函数和一般函数有区别(2)友函数
- 第六周项目4-成员函数、友元函数和一般函数有区别
- 第七周项目3-成员函数、友元函数和一般函数区别
- 项目3-成员函数、友元函数和一般函数有区别
- 成员函数、友元函数和一般函数的区别(两点间距离)
- 飛飛(二十五)成员函数,友元函数,和一般函数的区别1
- 成员函数、友元函数和一般函数的区别-时间
- 第六周项目4.2 成员函数 友元函数和一般函数有区别——点类
- 第6周项目3-成员函数、友元函数和一般函数的区别(成员函数)
- 第六周 项目4 成员函数、友元函数和一般函数有区别
- 第六周项目4-成员函数、友元函数和一般函数有区别
- 第6周项目4成员函数、友元函数、和一般函数的区别
- 第6周项目4-成员函数、友元函数和一般函数有区别 (友元函数)
- 第七周项目一 (成员函数,友元函数和一般函数的区别)
- 第七周 项目1-成员函数、友元函数和一般函数有区别(1)友元