1 基类中public,子类共有继承可以访问并修改;子类保护继承可以访问但不可以修改;子类私有继承不能访问且不能修改;
2 基类中protected,子类共有继承可以访问但不能修改;子类保护继承可以访问但不可以修改;子类私有继承不能访问且不能修改;
3 基类中private,子类不论什么继承都不能访问且不能修改
举例
c++代码如下
//父类
class parent
{
public:
int val_1=1;
protected:
int val_2=2;
private:
int val_3=3;
};
//子类1共有继承
class son1:public parent
{
......
};
//子类2保护继承
class son1:protected parent
{
......
};
//子类3私有继承
class son1:private parent
{
......
};
int main()
{
son1 xiaoming;
son2 xiaozhang;
son3 xiaoli;
int v1=0,v2;
//访问
v2=xiaoming.val_1;//正确
v2=xiaoming.val_2;//正确
v2=xiaoming.val_3;//错误
v2=xiaozhang.val_1;//正确
v2=xiaozhang.val_2;//正确
v2=xiaozhang.val_3;//错误
v2=xiaoli.val_1;//错误
v2=xiaoli.val_2;//错误
v2=xiaoli.val_3;//错误
//修改
xiaoming.val_1=v1;//正确
xiaoming.val_2=v1;//错误
xiaoming.val_3=v1;//错误
xiaozhang.val_1=v1;//错误
xiaozhang.val_2=v1;//错误
xiaozhang.val_3=v1;//错误
xiaoli.val_1=v1;//错误
xiaoli.val_2=v1;//错误
xiaoli.val_3=v1;//错误
}