c++三种继承方式

来源:互联网 发布:淘宝上怎么购买呼死你 编辑:程序博客网 时间:2024/04/23 14:45
#include"stdafx.h"       
#include<iostream>        //类内可访问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;
}