友元
2016-02-26 14:23
267 查看
允许特定的非成员函数访问一个类的私有成员,同时仍然阻止一般的访问,这样就是友元。友元允许一个类将对其非公有成员的访问权授予指定的函数或类。友元的声明以关键字friend开始。它能出现在类定义的内部的任何地方。
如果不是将整个类设为友元,可以指定只允许特定的成员成为友元
class Sales{ friend class WindosNDF; public: int data; char ch; string gstr; void appleCast(){ gstr.push_back('C'); } int appleAdd(int x){ return data + x; } int appleKey(int b){ key=b; return key; } bool appleUI() const; private: string str; int key; float oa; }; class WindosNDF{ Sales s; void relocate(){ s.key++; s.oa++; }; void reload(){ s.key--; s.oa--; } };
如果不是将整个类设为友元,可以指定只允许特定的成员成为友元
class Sales{ friend void WindosNDF::relocate(); private: int data; } class WindosNDF{ Sales s; void relocate(){ ++s.data; }; void reload(){ --s.data;//此处编译不过,因为该函数不是友元 } };
相关文章推荐
- idea 更换编辑器背景图片
- 从网络上获取国际标准时间
- docker 私有仓库搭建
- window.location和window.open的区别
- 日本设计的七个原则
- Java设计模式 - 适配器模式
- 利用AIDL注册service在进程之间传输图片
- unity3d调用jar类中的方法和属性
- android 编程小技巧(1)---超实用的LogUtil
- WebKit之V8技术优化分析
- WebKit之chromium进程创建过程分析
- UVA 10539(p343)----Almost Prime Numbers
- UVA 10603(p202)----Fill
- [leetcode] 210. Course Schedule II 解题报告
- 十一、Android_UiAutomator 报告查看
- linux命令之uname
- 共用体和枚举
- Css3:transform变形
- Servlet映射规则
- 如何成为一名优秀的全栈工程师