C++ 类访问控制(public/protected/private)
C++中 public,protected, private 访问标号小结
第一:private, public, protected 访问标号的访问范围。
private:只能由1.该类中的函数、2.其友元函数访问。
不能被任何其他访问,该类的对象也不能访问。
protected:可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。
但不能被该类的对象访问。
public:可以被1.该类中的函数、2.子类的函数、3.其友元函数访问,也可以由4.该类的对象访问。
注:友元函数包括3种:设为友元的普通的非成员函数;设为友元的其他类的成员函数;设为友元类中的所有成员函数。
#include<iostream>
using namespace std;
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();//公用的内容子类可以直接拿来用
sleep();//保护中的内容在子类里可以调用
//breathe();//子类也不可以用
}
};
void main()
{
animal a;
a.eat();//可以这样
//a.breathe//不可以这样,breathe是私有的
//a.sleep();//不可以这样,因为sleep是保护的
fish f;
f.test();
}