有如下三种情况:
1.
class Address { …};
class Person{
public:
Address& personAddress() { return address; }
private:
Address address;
};
Person scott(..);
Address& addr = scott.personAddress();
现在,全局对象addr成为了scott.address的另一个名字,利用它可以随意读写scott.address。实际上,scott.address不再为private,而是public,访问级提升的根源在于成员函数personAddress。
2. 不仅仅是引用,指针也会产生以上问题,如下所示:
class Perso