第七周实践项目1————线段类——成员函数、友元函数和一般函数的综合及学习心得
2016-04-09 19:50
387 查看
问题及代码:
运行结果:
学习心得:
通过这次项目的实践,我;理解了这三种函数的区别,已经初步了解了这三种函数的应用,能够基本掌握这三种函数的用法,虽然还有些不太熟练,但我会一直努力学下去
/*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:吴敬超 * 完成日期:2016年4月9日 * 版本号:vc++6.0 * * 问题描述:线段类之成员函数、友元函数和一般函数 * 输入描述: * 程序输出: 输出结果 */ #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; } friend void len3(CPoint &p1,CPoint &p2);//友元函数声明 double getX() { return x; } double getY() { return y; } }; class Line { public: Line(CPoint xp1,CPoint xp2); void len1(); private: CPoint p1,p2; double len; }; Line::Line (CPoint xp1,CPoint xp2):p1(xp1),p2(xp2) { double x=p1.getX()-p2.getX(); double y=p1.getY()-p2.getY(); len=(double)sqrt(x*x+y*y); } void len3(CPoint &p1,CPoint &p2) { double len; double x=p1.x-p2.x; double y=p1.y-p2.y; len=static_cast<float>(sqrt(x*x+y*y)); cout<<"两点之间的距离:"<<len<<endl; } void Line::len1() { cout<<"两点之间的距离:"<<len<<endl; } void len2(CPoint &p1,CPoint &p2) { double len; double x=p1.getX()-p2.getX(); double y=p1.getY()-p2.getY(); len=(double)sqrt(x*x+y*y); cout<<"两点之间的距离:"<<len<<endl; } int main() { CPoint myp1(1.0,1.0),myp2(4.0,5.0); Line line(myp1,myp2); line.len1(); len2(myp1,myp2); len3(myp1,myp2); return 0; }
运行结果:
学习心得:
通过这次项目的实践,我;理解了这三种函数的区别,已经初步了解了这三种函数的应用,能够基本掌握这三种函数的用法,虽然还有些不太熟练,但我会一直努力学下去
相关文章推荐
- 谁再说Matlab速度慢,我跟谁急
- 第六周作业
- EF增删改查操作
- 第七周项目1-点类-友元函数
- Java中equals和==的区别
- text detection method
- 软件工程结对作业02(原创版)
- script 的运行方式差异 (source, sh script, ./script)
- HDU 1978 How many ways 记忆化dfs+dp
- leetcode---Path Sum
- 一些JS事件
- 可拖拽GridView代码解析
- 2010年山东省第一届ACM解SDUT2151-2160 set,floyd变形
- 汉诺塔递归算法
- Whu oj 1609 - Han Move
- 软件工程结对作业02(借鉴版)
- JavaScript编写人机对战五子棋(七)
- mysql.bat
- 栈面试题
- 第七周项目1-点类-成员函数