C++学习笔记---类的朋友
来源:互联网 发布:linux自动分区脚本 编辑:程序博客网 时间:2024/05/16 14:38
在类A中,用friend关键字可以将一个全局函数声明为该类的“朋友”。也可以将另一个类声明为该类的朋友。
class Object
{
//将全局函数Print声明为“朋友”
friend void Print(Object *p);
//将类Something声明为“朋友”
friend class Something;
];
原则上说,该函数、类只是这个类的“朋友”,而非“成员”。
(1)friend声明语句:位置自由,一般放在类体大括号的最前头。
(2)朋友拥有的权利:
可以无限地访问该类的所有成员,不受protected/private的限制。
注意:朋友的关系是单向的,Something类可以自由访问Object类,但反过来不成立。
负面作用:friend是不常用的语句,它破坏了访问修饰符的作用,对类的封装构成威胁。
正面作用:可能应用的场景:在封装一个模块时,模块中有多个类,那么他们之间可以相互声明为朋友以便操作(他们是一伙的)。也就是说,模块内部的类都是朋友,而外部调用者不是朋友、受访问修饰符的限制
class Object
{
//将全局函数Print声明为“朋友”
friend void Print(Object *p);
//将类Something声明为“朋友”
friend class Something;
];
原则上说,该函数、类只是这个类的“朋友”,而非“成员”。
(1)friend声明语句:位置自由,一般放在类体大括号的最前头。
(2)朋友拥有的权利:
可以无限地访问该类的所有成员,不受protected/private的限制。
注意:朋友的关系是单向的,Something类可以自由访问Object类,但反过来不成立。
负面作用:friend是不常用的语句,它破坏了访问修饰符的作用,对类的封装构成威胁。
正面作用:可能应用的场景:在封装一个模块时,模块中有多个类,那么他们之间可以相互声明为朋友以便操作(他们是一伙的)。也就是说,模块内部的类都是朋友,而外部调用者不是朋友、受访问修饰符的限制
阅读全文
0 0
- C++学习笔记---类的朋友
- 朋友的笔记............
- 给学习C语言的朋友推荐一本好书!
- 送给学习C语言亲爱的朋友几句真心话
- 共同学习的朋友
- 时间的朋友2016笔记
- C的学习笔记
- 献给学习XMLHTTP的朋友
- 朋友是用来学习的
- 《《征求嵌入式学习的朋友》》
- 致-------正在学习的朋友
- [转] [献给想深入学习网络编程的朋友] C,C++网络编程学习简明指南
- 类的朋友
- C和C++的一些学习资源 一个台湾朋友推荐
- C和C++的一些学习资源 一个台湾朋友推荐
- 【学习笔记】〖九度OJ〗题目1156:谁是你的潜在朋友
- Pro*C的学习笔记
- C#的学习笔记(一)
- 查找算法1
- nodejs npm 错误 Error: UNKNOWN: unknown error, mkdir 'D:\Develop\nodejs\node_global' at Error <native>
- jQuery-在网站上注册新账号时,“同意并接受”效果的实现
- 应用层-6、FTP
- 嵌入式多任务OS中Vxworks和linux的一些区别
- C++学习笔记---类的朋友
- 每天学一点
- Linux时间的cst和edt的区别
- Eclipse+JSP使用自定义标签库查询出MySQL表中的数据显示在页面
- 基于TCP的文件传输
- OpenCV环境搭建及简单示例
- Spring(23)——SPEL表达式(二)
- ERROR: No Jack server running
- JvisualVM 版本链接更新地址