C++ 友元函数详解:如何声明友元类?

c++++ 中,友元类允许一个类的所有成员函数访问另一个类的私有成员。声明友元类时,使用 friend class 关键字,例如:outerclass 声明 内层类 为友元类:friend class 内层类;只有 内层类 中的成员函数可以访问 outerclass 的私有成员。

C++ 友元函数详解:如何声明友元类?

C++ 友元函数详解:如何声明友元类

前言

在 C++ 中,友元关系是一种允许非成员函数访问类私有成员的强大机制。友元类是友元关系的一种特殊形式,它允许一个类的所有成员函数都访问另一个类的私有成员。

立即学习“C++免费学习笔记(深入)”;

友元类的声明

要声明一个友元类,需要在该类的定义中使用 friend 关键字。语法如下:

class OuterClass {    // 成员变量和函数    friend class InnerClass;};

这将允许 InnerClass 中的所有成员函数访问 OuterClass 的私有成员,而其他类则无法访问。

实战案例

让我们考虑一个实际示例,其中 OuterClass 表示一个包含敏感数据的类,而 内层类 表示一个需要访问该数据的实用程序类。

OuterClass:

class OuterClass {private:    int secretData;  // 敏感数据public:    // 可以公开访问的数据和方法};

内层类:

class InnerClass {    friend class OuterClass;  // 声明友元类public:    void printData(OuterClass& outerObj) {        // 访问OuterClass的私有成员 secretData        cout << "敏感数据:" << outerObj.secretData << endl;    }};

在这种情况中,只有 InnerClass 中的成员函数可以访问 OuterClasssecretData 成员。其他类无法访问该私有成员。

注意:

友元类是单向关系。OuterClass 只能访问 内层类 的公共成员,而 内层类 可以访问 OuterClass 的所有成员。友元类可以是类模板或类实例化。可以通过在类定义中使用 friend class* 语法将多个类指定为友元。

以上就是C++ 友元函数详解:如何声明友元类?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1448427.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月18日 01:29:49
下一篇 2025年12月18日 01:29:59

相关推荐

发表回复

登录后才能评论
关注微信