class Base{
public:
void pub_mem();
protected:
int prot_mem;
private:
char priv_mem;
};
class Pub_Derv : public Base { /.../ };
class Priv_Derv : private Base { /.../ };
对派生类用户的访问权限限制:
Pub_Derv d1;
Priv_Derv d2;
d1.pub_mem(); //正确,pub_mem在派生类中是public的
d2.pub_mem(); //错误,pub_mem在派生类中是private的
对派生类的派生类的访问权限限制:
class Derived_from_Public : public Pub_Derv {
//正确:Base::prot_mem在Pub_Derv中仍然是protected的
int use_base() { return prot_mem; }
};
class Derived_from_Private : public Prive_Derv {
//错误,Base::prot_mem在Prive_Derv中是private的
int use_base() { return prot_mem; }
};