C++的保护机制问题
我们常常可以看见
class Test
{
Test(const Test& t):m_iValue(t.m_iValue);
private:
int m_iValue;
};
请问为什么可以这样做呢?是否和private机制想对立呢?谢谢。
[解决办法]
自己是自己的友原类
[解决办法]
类提供的是一个间接访问机制,不是不访问机制。一个不能被访问的东西是没用的。
[解决办法]
类提供的是一个间接访问机制,不是不访问机制。一个不能被访问的东西是没用的。
这句说的真好. 言简意赅!
===================================
这句话说的确实是好,但具体针对这个问题,并没说的清楚。
这不是间接访问机制,而是封装层面的不同。
private数据封装是针对类的,不是针对对象的,可以在类的成员函数中访问同一类对象的私有成员。就象楼上有人说的那样,可以理解为自己是自己的友元类。