c++三种继承方式讲解
c++三种继承方式讲解
#include"stdafx.h"
#include //类内可访问protected与private,对于类内而言,他们两者没区别
using namespace std;
class a1
{
private: int a = 1;
protected:int b = 2;
public:int c = 3;
}; //public继承方式,父类的private、protected、public、依旧相当于子类的private、protected、public
class b1: protected a1 //pretected继承方式,父类的private依旧是相当于子类private,protected、public相当p子类retected
{public: //private继承方式,父类的private、protected、public相当于子类的private
b1()
{
cout << c << endl; //子类b内的成员函数可以访问private、protected类型的数据
}
};
class c1 :public b1
{
public:
c1()
{
cout << c << endl; //因为b1继承a1的方法是protected,所以 数据c(本来是public型) 对b1来说就是protected型 ————protected型 main()函数不能访问 c数据对c1来说,它经过b1时变成了protected型,因为c1是用public方法继承b1,所以c数据到达c1时不变,依旧是protected
}
};
int main()
{
c1 p;
cout << p.c; //这个位置只能访问类的public成员
return 0;
}
上一篇: docker的几种网络模式