在c++primer中,有关于protected的访问控制描述:
派生类如果要访问基类protected成员只有通过派生类对象,派生类不能访问基类对象的protected成员。
1.像 private 成员一样,protected 成员不能被类的用户访问。
2.像 public 成员一样,protected 成员可被该类的派生类访问
class Base
{
protected:
int value;
};
class Derive: Base
{
public:
int GetValue(Derive& de, Base& ba)
{
int value = this->value;
value = de.value;
//value = ba.value;错误
}
protected:
//int value;
};
void test_Class()
{
Derive de;
//int value = de.value;错误
}
说的派生类就是类的定义体。
而用户一般说的是类的对象。