关键字声明
来源:互联网 发布:量化交易程序员招聘 编辑:程序博客网 时间:2024/04/30 19:34
原则上,一个类不能私有的和受保护的成员可以从同一类在它们之外声明。然而,这条规则不适用于“朋友”。
朋友是函数或类的朋友关键字声明。
非成员函数可以访问类的私有的和受保护的成员如果它声明类的一个朋友。这是通过包括在类中声明的外部功能,和前面加上关键字的朋友:
12345678910111213141516171819202122232425262728// friend functions#include <iostream>using namespace std;class Rectangle { int width, height; public: Rectangle() {} Rectangle (int x, int y) : width(x), height(y) {} int area() {return width * height;} friend Rectangle duplicate (const Rectangle&);};Rectangle duplicate (const Rectangle& param){ Rectangle res; res.width = param.width*2; res.height = param.height*2; return res;}int main () { Rectangle foo; Rectangle bar (2,3); foo = duplicate (bar); cout << foo.area() << '\n'; return 0;}
复制功能的类矩形的一个朋友。因此,功能重复才能访问该成员的宽度和高度(这是私人的)的不同类型的矩形对象。注意到没有在宣言中的复制也不在主以后的使用,复制被认为是类成员函数的矩形的一员。它不是!它简单地访问自己的私有的和受保护的成员没有一个成员。
友元函数的典型用例是两个不同的类访问私有或受保护成员双方之间进行操作。
0 0
- 关键字声明
- 关键字volatile是什么声明?
- 关键字volatile是什么声明
- const readonly关键字声明
- 关键字声明extern
- iOS 声明属性关键字
- 类和关键字声明
- 类使用 class 关键字声明
- iOS 声明属性关键字讲解
- iOS 声明属性关键字讲解
- iOS 声明属性关键字讲解
- iOS 声明属性关键字讲解
- iOS 声明属性关键字讲解
- iOS 声明属性关键字讲解
- JAVA-变量声明、关键字和类型
- 类声明中关键字的位置
- 构造函数的explicit关键字声明
- 定义和声明的分离:extern关键字
- 前端rules
- Android adb无法发现设备处理方法
- appframework基础 : 四、panel 属性
- 用前端性能优化解决方案弥补CDN的不足
- ListView的使用
- 关键字声明
- Objective c类的初始化
- Linux网络配置
- Mysql数据库的链接方式
- ANDROID中按键的添加配置(linux按键到android处理)
- HLJUOJ1011(小根堆)
- 8 SQL-on-Hadoop frameworks worth checking out
- Android hierarchyviewer不能使用的解决方法
- php学习资源资料分享-初学到掌握