温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C++中如何使用友元函数

发布时间:2021-07-19 16:19:44 来源:亿速云 阅读:443 作者:Leah 栏目:编程语言

本篇文章为大家展示了C++中如何使用友元函数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

定义:允许一个类将对其非公有成员的访问权授予指定的类或函数(分别是友元类和C++友元函数)。

说明:友元是非成员函数,即它并不是授予友元关系的那个类的成员,它的声明可以出现在类中的任何地方(因此它们也不受其声明出现部分的访问控制的影响)

编程风格:虽然友元的声明可以出现在类中任何地方,但是将友元声明成组的放在类定义的开始或者结尾是个好主意。

注:1、当将类A的成员函数F声明为类B的友元时,必须在B的定义中将F用A限定。

2、C++友元函数只能访问对象的私有成员,不能直接访问类的私有成员(因此在调用友元时,必须在实参中指定友元要访问的类的对象)。

两个性质:

1、不具有传递性。

即:假设B是A的友元类,C是B的C++友元函数,那么C不能直接访问A的私有成员。

2、不具有继承性。

即:假设B是基类A的友元函数,C是A的继承类,那么B不能直接访问C的私有成员。

如果派生类想要将自己成员的访问权授予其基类的友元,派生类必须显式地这样声明友元。 //基类的友元对从该基类派生的类型没有特殊访问权限。

class A  {  friend class C;  }  class B : public A  {  friend class C; //friend 无法继承  }  class C  {  }

同样,如果基类和派生类都需要访问另一个类,则那个类必须特地将访问权限授予基类和每一个派生类.

class A  {  }  class B : public A  {  }  class C  {  friend class A;  friend class B;  }

上述内容就是C++中如何使用友元函数,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++
AI