carysu@126.com

carysu@126.com
posts - 11, comments - 0, trackbacks - 0, articles - 0

友元用法总结

Posted on 2011-07-17 12:30 susu 阅读(185) 评论(0)  编辑 收藏 引用
 1/*
 2友元:
 3类的主要特点是数据隐藏,即类的私有部分在该类的作用域之外是不可见的,有时候需要在类的外部访问类的私有部分,
 4一般来说,全局函数不能访问类的私有成员,
 5而friend关键字超出了这一界限,它允许类里 所有 成员的访问,在
 6类的内部,友元被作为该类的成员看待, 并且对对象公用部分的访问没有任何限制;
 7
 8  可以这样认为,写了一个友元函数,就是做了这个东西(访问了私有变量)
 9  其他的没什么用了吧。
10*/

11#include<iostream>
12#include <cmath>
13using namespace std;
14
15class Point    //Point类声明
16public:    //外部接口
17    Point(int xx=0int yy=0{X=xx;Y=yy;}
18    int GetX() {return X;}
19    int GetY() {return Y;}
20    friend float Distance(Point &a, Point &b); 
21  private:    //私有数据成员
22    int X,Y;
23}
;
24float Distance( Point& a, Point& b)
25{
26      double dx=a.X-b.X;
27      double dy=a.Y-b.Y;
28      return sqrt(dx*dx+dy*dy);
29}

30int main()
31{  
32    Point p1(3.05.0), p2(4.06.0);
33    double d=Distance(p1, p2);
34    cout<<"The distance is "<<d<<endl;
35    return 0;
36}

37

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理