您的位置:首页 > 其它

第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里的函数,区别类里的成员函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: