c++/oop---友元

分为友元函数和友元类两种
友元函数

friend 函数类型 友元函数名(参数表)

(1)友元函数不是成员函数,在类中声明,在类外定义

(2)友元函数的声明可以放在类中的任意一个位置,不受访问权限限制

(3)友元函数可以访问类的 private 成员

 

成员函数声明为友元函数

friend 函数类型 类名 :: 友元函数名(参数表)

在 A 中声明友元函数 f ,f 是 B 的函数,则 f 可以访问 A 的 private 成员

 

友元类

friend class 友元类名

(1)友元类的声明可以在类的任何位置

(2)友元类的所有函数成为友元函数

在 A 中声明 friend class B , 则 B 的所有函数可以访问 A 的私有成员

jx 说的好啊,friend 应该理解为 permission 更为准确。因为友元是单向的,也不能传递

应该尽量少使用友元!

 

posted @ 2022-03-02 22:59  liankewei123456  阅读(57)  评论(0编辑  收藏  举报