carysu@126.com
carysu@126.com
posts - 11, comments - 0, trackbacks - 0, articles - 0
导航
C++博客
首页
新随笔
联系
聚合
管理
<
2011年7月
>
日
一
二
三
四
五
六
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
给我留言
查看公开留言
查看私人留言
随笔档案
2011年10月 (4)
2011年7月 (7)
搜索
最新评论
阅读排行榜
1. 派生类构造函数举例(616)
2. 派生类的构造函数(578)
3. 数据结构后缀表达式转换(467)
4. 通过调用基类的指针作为形参的函数来显示桥对象的信息(394)
5. 队列的链式存储(331)
评论排行榜
1. 多态(0)
2. 通过调用基类的指针作为形参的函数来显示桥对象的信息(0)
3. 运算符重载(0)
4. 类中包含子对象(0)
5. 派生类的构造函数(0)
友元用法总结
Posted on 2011-07-17 12:30
susu
阅读(194)
评论(0)
编辑
收藏
引用
1
/**/
/*
2
友元:
3
类的主要特点是数据隐藏,即类的私有部分在该类的作用域之外是不可见的,有时候需要在类的外部访问类的私有部分,
4
一般来说,全局函数不能访问类的私有成员,
5
而friend关键字超出了这一界限,它允许类里 所有 成员的访问,在
6
类的内部,友元被作为该类的成员看待, 并且对对象公用部分的访问没有任何限制;
7
8
可以这样认为,写了一个友元函数,就是做了这个东西(访问了私有变量)
9
其他的没什么用了吧。
10
*/
11
#include
<
iostream
>
12
#include
<
cmath
>
13
using
namespace
std;
14
15
class
Point
//
Point类声明
16
{
public
:
//
外部接口
17
Point(
int
xx
=
0
,
int
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
}
;
24
float
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
}
30
int
main()
31
{
32
Point p1(
3.0
,
5.0
), p2(
4.0
,
6.0
);
33
double
d
=
Distance(p1, p2);
34
cout
<<
"
The distance is
"
<<
d
<<
endl;
35
return
0
;
36
}
37
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理
Powered by:
C++博客
Copyright © susu