目录
如果觉得有用的话,给小弟点个赞吧!哈哈哈哈,谢谢嘞!
概念:
友元:慎用(突破封装)
友元函数:在函数前加friend的函数称为友元函数,友元函数的用处是为了突破封装。例如一个类A的pravite变量,外部类是不可以调用的。友元声明就是为了解决这个问题
友元函数不能用const修饰(const修饰的是this,但是友元函数没有this)
友元函数可以访问类的私有和保护成员,但是友元函数不是类的成员函数
友元函数可以在的类定义的任何地方进行声明,但是不受类访问限定符限制(就是说写在私有位置、公开位置都可以)
一个函数可以是多个类对象的友元函数
总之,友元friend解决的是类封装私有不能访问的问题。
如何理解?
A是一个类,B也是一个类
在B类内声明friend class A;
那就是说,声明了一下,类A是B的朋友
那么,既然A是B的朋友,那么A就可以访问B的任何成员
但是,在A内可没有声明B是A的朋友(友元声明)
所以,B不可以访问A的成员
如果有需要,可以设置为互为友元
(不要叫唤,只有内心缺失的人才会去炫耀。)