成员函数、友元函数和一般函数的区别(两点间距离)
来源:互联网 发布:step文件打开软件 编辑:程序博客网 时间:2024/05/22 17:16
/* Copyright (c) 2016* All rights reserved* 文件名称:3.cpp* 作者:刘丽* 完成日期:2016年 4 月 7日* 版本号: v1.0** 问题描述:使用成员函数、友元函数和一般函数的区别(两点间距离)
*/#include <iostream>#include<cmath>using namespace std;double distance1(class CPoint &a,class CPoint &b );class CPoint{private: double x; // 横坐标 double y; // 纵坐标 public: CPoint(double xx=0,double yy=0):x(xx),y(yy){}; friend double distance1( CPoint &, CPoint & );//友元函数 CPoint(const CPoint &a); double distance2(const CPoint &b);//成员函数};CPoint::CPoint(const CPoint &a){ x=a.x; y=a.y;}double CPoint::distance2(const CPoint &b){ double sum; sum=(x-b.x)*(x-b.x)+(y-b.y)*(y-b.y); return sqrt(sum);}int main(){ CPoint p1(1,20),p2(8,99); int x1=1,y1=20,x2=8,y2=99; double answer; double distance3(int,int ,int,int); answer=distance1(p1,p2);//友元函数 cout<<"answer="<<answer<<endl; answer=distance3(x1,x2 ,y1,y2);//一般函数 cout<<"answer="<<answer<<endl; answer=p1.distance2(p2);//成员函数 cout<<"answer="<<answer<<endl; return 0;}double distance1( CPoint &a, CPoint &b ){ double sum; sum=(a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y); return sqrt(sum);}double distance3(int x1,int x2 ,int y1,int y2)//一般函数{ double sum; sum=(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2); return sqrt(sum);}
心得:
类只开放他的成员函数,若想使用他的成员变量需要用到友元函数。
0 0
- 成员函数、友元函数和一般函数的区别(两点间距离)
- 利用成员函数、友元函数和一般函数,实现三个版本的求两点间距离的函数
- 成员函数、友元函数和一般函数有区别-两点间的距离
- 第七周任务二(利用成员函数、友元函数和一般函数,实现三个版本的求两点间距离的函数)
- 《C++第七周实验报告2-1》---利用成员函数、友元函数和一般函数,实现三个版本的求两点间距离的函数
- 第七周 项目二:成员函数、友元函数、一般函数之区别(实现三个版本的求两点间距离)
- 成员函数,友元函数和一般函数的区别
- 成员函数友元函数和一般函数的区别
- 成员函数、友元函数和一般函数的区别
- 成员函数 友元函数 和 一般函数的区别
- 成员函数、友元函数和一般函数的区别
- 第六周项目四--成员函数、友元函数和一般函数的区别(求两点的距离)
- 第7周项目1(2) 成员函数,友元函数和一般函数的区别 两点距离类
- 计算两点间距离(友元成员函数)
- 第六周 项目4-成员函数、友元函数和一般函数的区别---一般函数
- 第六周 项目4-成员函数、友元函数和一般函数的区别---成员函数
- 成员函数,友元函数和一般函数之区别
- 成员函数、友元函数和一般函数之区别
- iOS Calendar Demo OC + Swift
- 山东省第四届ACM大学生程序设计竞赛 Boring Counting 划分树
- %E2%80%8E Zero-Width Space
- LeetCode *** 153. Find Minimum in Rotated Sorted Array
- bzoj 4519 [Cqoi2016]不同的最小割
- 成员函数、友元函数和一般函数的区别(两点间距离)
- storm命令
- iOS NSPredicate数组筛选
- 第七周项目一-成员函数(4)
- 部署NuGet服务器和发布自己的NuGet包
- Java学习——运算顺序的详细挖掘(下)
- 【Android】studio中9patch图片只能放在drawable中,不能放mipmap中
- Quartz 2D之手势解锁(支付宝)
- NYOJ-23 取石子(一)