c++基础要点整理(二)之——友元

来源:互联网 发布:dbscan聚类算法 编辑:程序博客网 时间:2024/06/09 17:31

友元的定义

一般在c++中, 类都私有成员是不允许其他类访问的,但是c++中可以通过友元来访问类的私有成员。c++中, 可以把全局函数或者类定义为类的友元

void Print(int& a);class FriendClassTest{          // 将全局函数申明为友元;         Friend void Print(int& a);         // 将外部类申明为友元         friend class show; private:       int m_a;   };

函数Print 和类show只是类FriendClassTest的友元而非成员; 友元的位置一般是比较自由的,不受public,private限制,一般放在大括号中最前面

友元的权利

       可以无限制的访问该类的所有成员。友元都关系是单向的。

友元的作用

      友元一般比较少用,它破坏了类的封闭性;有一种场景是会用到类的友元的;

      假如有个类的成员, 只想让指定的非继承类或全区函数访问,而不想让其他类访问,则可以把该类的成员定义为私有成员,然后把允许访问该私有成员的变量定义为该类的友元。当然也可以是多个类,封装在一个模块中,类之间互相定义为友元,相互操作成员。


0 0
原创粉丝点击