C++友元
Posted liuzhenbo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++友元相关的知识,希望对你有一定的参考价值。
C++提供友元机制,允许一个类将其非公有成员的访问权授予指定的函数或类。友元声明以关键字friend开始,它只能出现在类的内部。
友元可以是普通的非成员函数,或是已定义的其他类的成员函数,或整个类。所以有友元函数和友元类的叫法。
(一)将非成员函数声明为友元函数
private:
friend double distance();//友元函数
(二)友元成员函数
class A
public:
void setb(B& r);
;
class B
private:
friend void A::setb(B& r);
(三)友元类
可以将一个类B声明为另一个类A的友元,这时B类就是类A的友元类。友元类B中的所有成员函数都是A类的友元函数,可以访问A类中的所有成员。
关于友元类的如下说明:
(1)友元的关系是单向的不是双向的,B是A的友元,不代表A是B的友元。
(2)友元关系不能传递或继承,如果B是A的友元类,C是B的友元类,不代表C是A的友元类。
以上是关于C++友元的主要内容,如果未能解决你的问题,请参考以下文章