您的位置:首页 > 编程语言 > C语言/C++

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

2015-10-22 15:08 295 查看
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的成员,在类外部都不能访问它。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: