【发布时间】:2016-09-18 15:40:39
【问题描述】:
class A{
fct1(){};
};
class B:public A{
fct2(){};
};
// B b;
// A* a = &b; good! possible!!
class A{
fct1(){};
};
class B:protected A{
fct2(){};
};
//B b;
// A* a=&b; error!
这是为什么呢?
受保护的继承与指针有什么关系?
我了解到受保护的继承将公共区域更改为受保护区域,因此只有派生类才能访问其成员函数和变量。 :(
请说明原理及原因。
【问题讨论】:
标签: c++ pointers inheritance protected