Code
class A
{
protected:
int a;
};
class B:public A
{
public:
A *p;
void foo()
{
p->a; //错误
}
B()
{
p=new B();
}
};
class D:public B
{
public:
D *p;
void foo1()
{
p->a; //OK
}
};
int main()
{
;
}
protected成员,需要注意一点: 在派生中访问基类的protected成员时,只能通过派生类或者派生类的派生类来访问,不能通过基类来访问.