C++ 友元关系
2016-01-28 10:23
281 查看
在封装中C++类数据成员大多情况是private属性;但是如果接口采用多参数实现肯定影响程序效率;然而这时候如果外界需要频繁访问这些私有成员,就不得不需要一个既安全又理想的“后门”——友元关系; C++中提供三种友元关系的实现方式,友元函数、友元成员函数、友元类。 友元函数:既将一个普通的函数在一个类中说明为一个friend属性;其定义(大多数会访问该类的成员)应在类后; 友元成员函数:既然是成员函数,那么肯定这个函数属于某个类,对了就是因为这个函数是另外一个类的成员函数,有时候因为我们想用一个类通过一个接口去访问另外一个类的信息,然而这个信息只能是被它授权的类才能访问;那么也需要用friend去实现;这个概念只是在声明的时候稍有变化; 友元类:友元类声明会将整个类说明成为另一个类的友元关系;和之前两种的区别是集体和个人的区别;友元类的所有成员函数都可以是另一个类的友元函数; 值得注意的是友元关系是单向的,有点像我们恋爱中出现的单相思 O(∩_∩)O,单向关系就是说如果A被说明成B的友元关系,那么只能说A是B的友元,并不代表B是A的友元;其次在多数情况下友元关系的函数都会访问它被说明中类的成员,这时候应该将函数定义在类的后面。
相关文章推荐
- LIB和DLL的区别与使用
- C语言中的指针学习(小黑板)
- 用C++进行hadoop程序开发(hadoop Pipes)
- 基于ACE框架---C++多线程开发总结1,涉及 互斥量、读写锁、条件锁、基于条件锁的线程流水控制
- C++与Java比较
- C++ vector用法
- C++ 读取INI文件
- 【C语言】数字在排序数组中出现的次数(改动)
- c++ 类
- 函数的重载、覆盖、隐藏
- Protocol Buffers的安装使用和C++/Python入门示例
- 值得推荐的C/C++框架和库 (真的很强大)
- C++ 学习笔记之代码重用
- C++复习(四)
- C语言一些少见但很有用的语法
- 一些C++库
- C语言需要注意的地方
- 一起talk C栗子吧(第一百一十四回:C语言实例--线程同步之信号量二)
- 函数指针实现注意事项
- C++虚析构函数的作用