这个一直以来没搞的很清楚;
class Test2
{
private:
int pv;
void pvfun(){}
public:
int pb;
void pbfun(){}
protected:
int pt;
void ptfun(){}
};
// 对于三种继承方式,下面的代码都可以
class Derived2 : public (or protected, or private) Test2
{
public:
void test()
{
//pv = 1;
//pvfun(); // 以上error!
pb = 1; // 以下 ok
pbfun();
pt = 1;
ptfun();
}
};
Derived2 对象对于基类的访问权限:
d.* | pb | Pbfun() | pv | Pvfun() | pt | Ptfun() |
Public | Ok | Ok | Error | Error | Error | Error |
Private | Error | Error | Error | Error | Error | Error |
protected | Error | Error | Error | Error | Error | Error |