封装、继承和多态是面向对象的三大特征。封装其实就是对用户访问其类成员的一种限制、约束,它规定了哪些可以访问,哪些是不可访问的。封装的好处在于:
- 防止用户无意中破坏对象状态
- 接口不变,改动小
封装限制了用户直接修改对象状态的能力,在某些确实需要修改的情况下,反而是一种缺点。所幸的是,C++给我们提供了一种方法,解除了私有成员用户不可访问的约束,它就是本次主角——友元(friend)
一 、友元对象访问私有成员我们在一个类的内部使用关键字friend
声明对象,友元对象可以是普通函数、成员函数、甚至可以是整个类。友元对象可以不受访问控制、自由地使用该类的公私有数据和方法。下面我们以Me
对象为例,说明友元是如何访问其私有成员。
class Me
{
public:
void show() { cout
关注
打赏