您的位置:首页 > 其它

第六周【项目4-成员函数、友元函数和一般函数有区别】

2015-04-14 22:15 323 查看
/*【项目4-成员函数、友元函数和一般函数有区别】
*Copyright (c) 2014,烟台大学计算机学院
*ALL right reserved
*文件名:成员函数、友元函数和一般函数有区别
*作者;童宇
*完成日期:2015年 4月 12日
*版本号v1.0
*问题描述:完成求点类中距离的任务。
分别利用成员函数、友元函数和一般函数求两点间距离的函数,并设计main()函数完成测试。
*输入描述:
*程序输出:
*/
#include<iostream>
#include<cstring>
using namespace std;
class CPoint
{
private:
double x;  // 横坐标
double y;  // 纵坐标
public:
CPoint(double xx=0,double yy=0):x(xx),y(yy) {}
void display1();                 //display1是成员函数
friend void display2(CPoint &);  //display2是友元函数
double putx(){return x;}
double puty(){return y;}
};
void CPoint::display1()
{
cout<<"("<<x<<","<<y<<")"<<endl;
}

void display2(CPoint &t)
{
cout<<"("<<t.x<<","<<t.y<<")"<<endl;//虽然不是类的成员函数,却可以用t.hour的形式直接访问私有数据成员——这就是友元
}
void display3(CPoint &t)
{
cout<<"("<<t.putx()<<","<<t.puty()<<")"<<endl;//不能直接访问,只能用公共接口t.putx()形式访问私有数据成员
}
int main()
{
CPoint a(5,8);
a.display1();  //成员函数这样调用:对象名.函数名
display2(a);   //友员函数的调用和一般函数无异(但实现中可以不同)
display3(a);   //一般函数的调用
return 0;
}


运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐