在这里插入图片描述
在这里插入图片描述](https://img-blog.csdnimg.cn/4aabdf9a304541baa0c9eec5794e105f.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNTM5OTcyMDg=,size_20,color_FFFFFF,t_70,g_se,x_16)
1 无论哪种继承方式,基类中的私有成员在派生类中是不可以直接访问的
2 派生属性=从严(派生方式,基类属性)
3 私有或保护继承时,外部对象均不可访问任何类型的成员
4 只有公有继承时,外部对象才可以访问公有成员
代码
#include
using namespace std;
class Base {
public:
void setx(int i)
{
x = i;
}
int getx()
{
return x;
}
public:
int x;
};
class Derived:protected Base {
public:
void sety(int i)
{
y = i;
}
int gety()
{
return y;
}
void show() {
cout << “Base::x=” << x << endl;
}
public:
int y;
};
int main()
{
Derived bb;
bb.setx(16);
bb.sety(25);
bb.show();
cout << “Base::x=” << bb.x << endl;
cout << “Derived::y=” << bb.y << endl;
cout << “Base::x=” << bb.getx() << endl;
cout << “Derived::y=” << bb.gety() << endl;
return 0;
}