cpp——类——成员访问权限

来源:互联网 发布:杜蕾斯震动棒 知乎 编辑:程序博客网 时间:2024/05/25 12:22

成员访问权限

class CAnimal{    int food1;    private:    int food2;    protected:    int food3;    public:    int food4;};class CDog : public CAnimal{public:    void feed()    {        //food1 = 1;  //CAnimal private        //food2 = 2;  //CAnimal private        food3 = 3;        food4 = 4;    }};class CHusky : public CDog{public:    void feed()    {        //food1 = 1;  //CAnimal private        //food2 = 2;  //CAnimal private        food3 = 3;        food4 = 4;    }};void member_access_privilege(){    CAnimal animal;    //animal.food1 = 1;  //CAnimal private    //animal.food2 = 2;  //CAnimal private    //animal.food3 = 3;  //CAnimal protected    animal.food4 = 4;        CDog dog;    //dog.food1 = 1;  //CAnimal private    //dog.food2 = 2;  //CAnimal private    //dog.food3 = 3;  //CAnimal protected    dog.food4 = 4;        CHusky husky;    //husky.food1 = 1;  //CAnimal private    //husky.food2 = 2;  //CAnimal private    //husky.food3 = 3;  //CAnimal protected    husky.food4 = 4;}

总结

  • 成员访问权限大小:public > protected > private
  • 成员默认访问权限为private
  • 类外部只能访问public成员,不能访问protected和private成员
  • 子类不能访问(继承)父类private成员,只能访问(继承)父类public和protected成员
  • 所有成员(non-static数据成员,non-static函数成员,static数据成员,static函数成员)访问权限规则一致
  • 成员访问权限只是c++源代码层控制机制(从业务逻辑层考虑),因此编译阶段有区别,但在目标代码层无区别,因此链接阶段无区别
0 0
原创粉丝点击