protected:可以被派生类访问,不能被用户代码访问;
private:只能被类成员和友元访问;
public:访问自由;
友元:可以访问private成员;
然后 ,继承的时候,遵循这样的一个规律:
也就是:最高机密private
protected:继承的类之间的机密,(可理解为供应商与生厂商之间的关系)
public:大家都可以直接接触到;
But;一旦将一个类在另外一个类里面,使用friend 声明后,秘密将不再是秘密;
#include<iostream>
#include<string>
#include<vector>
using namespace std;class derived;//类的前置声明
class base{
friend B;
private:int a;
protected:int c;
public:int b;
};
class derived:private base{
public:void func(){
c=1;a=3;cout<<c<<endl<<a<<endl;}
};int main()
{
base A;A.b=0;derived A2;A2.func();return 0;
}