读书人

C++的保护机制有关问题

发布时间: 2012-02-28 13:06:36 作者: rapoo

C++的保护机制问题
我们常常可以看见
class Test
{
Test(const Test& t):m_iValue(t.m_iValue);
private:
int m_iValue;
};

请问为什么可以这样做呢?是否和private机制想对立呢?谢谢。

[解决办法]
自己是自己的友原类
[解决办法]
类提供的是一个间接访问机制,不是不访问机制。一个不能被访问的东西是没用的。
[解决办法]
类提供的是一个间接访问机制,不是不访问机制。一个不能被访问的东西是没用的。

这句说的真好. 言简意赅!

===================================

这句话说的确实是好,但具体针对这个问题,并没说的清楚。
这不是间接访问机制,而是封装层面的不同。
private数据封装是针对类的,不是针对对象的,可以在类的成员函数中访问同一类对象的私有成员。就象楼上有人说的那样,可以理解为自己是自己的友元类。

读书人网 >C++

热点推荐