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;
}