C++友元函数和友元类(C++ friend关键字)
2021/9/10 14:05:08
本文主要是介绍C++友元函数和友元类(C++ friend关键字),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
友元 friend
我们知道私有成员只能自己可以访问,这样一刀切很不灵活。
因此,友元机制 是对 类的封装性的一个补充。
一个类允许与它有 友元 关系的 函数 或类 直接访问其私有或保护信息。
友元分两种:
(1)友元函数
如果一个函数想直接访问一个类的私有/保护成员,那么这个类只需要向编译器做友元
声明即可:
friend 函数返回类型 函数名(参数列表);
注意: 友元函数必须在类里声明,在类外实现!
(2)友元类
如果一个类A中所有的成员函数都想去访问一个类B的隐藏信息,那么只需要在类B做一个
友元类的声明即可。
friend class 类名;
注: 友元关系是单向的:如果类A是类B的朋友,但不代表类B是类A的朋友。
友元关系是不可传递的:如果类A是类B的朋友,类B是类C的朋友,但不代表类A和类C是朋友。
eg.
class A { int familyNUM; public: A(int x) { familyNUM=x; } friend void check(A &a); //友元函数声明 }; void check(A &a) { cout << a.familyNUM <<endl; } int main() { A a(1); check(a); //输出 1 }
这篇关于C++友元函数和友元类(C++ friend关键字)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-04安装 Eyoucms详细图文教程-icode9专业技术文章分享
- 2024-07-04ueditor 复制文章时,图片的链接是一个下载图片地址,该如何处理?-icode9专业技术文章分享
- 2024-07-04怎样判断host有没有对wordpress有缓存呢-icode9专业技术文章分享
- 2024-07-04具有编译功能的系统make后,无法ssh连接-icode9专业技术文章分享
- 2024-07-04make后如何升级ssh-icode9专业技术文章分享
- 2024-07-03微信支付提示下单账户与支付账户不一致-icode9专业技术文章分享
- 2024-07-03微信支付提示订单号重复-icode9专业技术文章分享
- 2024-07-02微服务启动nacos注册上去了,但是一直没有收到请求-icode9专业技术文章分享
- 2024-07-02如何检查文件的编码格式-icode9专业技术文章分享
- 2024-07-02sublime 更改编码格式-icode9专业技术文章分享