public protected private继承访问权限—C++

来源:互联网 发布:java httputil 工具类 编辑:程序博客网 时间:2024/04/30 21:13

class Animal    //父类{public:      void eat(){            cout<<"animal eat"<<endl;      }protected:      void sleep(){            cout<<"animal sleep"<<endl;      }private:      void breathe(){            cout<<"animal breathe"<<endl;      }};class Fish:public Animal    //子类{public:      void test(){            eat();       //此时eat()的访问权限为public,在类内部能够访问            sleep();     //此时sleep()的访问权限为protected,在类内部能够访问            breathe();   //此时breathe()的访问权限为no access,在类内部不能够访问      }};int main(void){      Fish f;      f.eat();          //此时eat()的访问权限为public,在类外部能够访问      f.sleep();        //此时sleep()的访问权限为protected,在类外部不能够访问      f.breathe()       //此时breathe()的访问权限为no access,在类外部不能够访问}

public:可以被任意实体访问

protected:只允许子类及本类的成员函数以及本类的友元函数访问,理解为 子女和朋友和自己能访问

private:只允许本类的成员函数访问


在类内部:只要不是no access,那么我们都可以访问该成员。也就是说类内部的访问权限比较松,凡是可访问的权限都能访问,不论是public、protected还是private。
在类外部:只要不是public,那么我们都不可以访问该成员。
也就是说在类的外部访问权限比较严格,只要访问权限不是public的成员,在类外部都不能访问它。

C++ <wbr>公有继承、保护继承和私有继承中类成员的访问权限的控制



0 0
原创粉丝点击