第7周项目1-成员函数、友元函数和一般函数有区别(3)
2016-04-17 13:03
393 查看
/* *Copyright(C) 2016,计算机与控制工程学院 *All rights reserved. *文件名:test.cpp *作者:张志新 *完成日期:2016年4月15日 *版本号:v1.0 * *问题描述:友元函数.成员函数和一般函数。 */ #include <iostream> #include<cmath> using namespace std; class CPoint { private: double x; // 横坐标 double y; // 纵坐标 public: double distance2(CPoint &); friend double distance1(CPoint &,CPoint &); CPoint(double xx=0,double yy=0):x(xx),y(yy){} getX() { return x; } getY() { return y; } }; void distance3(CPoint &,CPoint &); double distance1(CPoint &p1,CPoint &p2) { double dx=p1.x-p2.x,dy=p1.y-p2.y; cout<<sqrt(dx*dx+dy*dy)<<endl; return 0; } double CPoint::distance2(CPoint &p) { double dx=x-p.x,dy=y-p.y; cout<<sqrt(dx*dx+dy*dy)<<endl; } void distance3(CPoint &p1,CPoint &p2) { double dx=p1.getX()-p2.getX(),dy=p1.getY()-p2.getY(); cout<<sqrt(dx*dx+dy*dy)<<endl; } int main() { CPoint p1(1,1),p2(0,0); cout<<"友元:"; distance1(p1,p2); cout<<"成员函数:"; p1.distance2(p2); cout<<"一般函数:"; distance3(p1,p2); return 0; }
<img src="https://img-blog.csdn.net/20160417130419722?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
学习心得:
在定义一般函数的时候要早类的后面声明,因为一般函数要用到类,在一般函数中用到的是public里的函数,区别类里的成员函数。
相关文章推荐
- css绘制基本图形
- 使用maven创建web项目
- 【Android学习】View点击事件分发机制(二)
- 机器学习10大经典算法
- 通过日期查看星期
- 用matlab实现感知机学习算法,训练分类器并解决井字游戏
- crontab 日志
- 六大设计原则(2) 单一职责原则
- %s与%c
- 数组作数据成员-工资类。
- OpenGL三维球体体数据生成与绘制
- 一,细说 HTML5 之 HTML5 基础讲解
- 如何给mac book pro升级内存
- 我的记单词方法
- C++编译器为空类“润物细无声”地做些什么
- oracle学习 第三章 常用的SQL*PLUS命令 ——02
- 《Linux内核分析》第八周 进程的切换和系统的一般执行过程
- 旋转数组的最小数字
- iOS本地化翻译xliff文件
- MyEclipse安装后需要进行的配置