继承类对基类成员的访问权限

时间:2022-07-14 15:16:47
继承是事物发展的过程,通过继承使得后代继承了父辈的优秀属性并进一步
拓展出新的属性和能力。c++中的继承就是现有的类中建立一个新的类,
现有的类成为基类,继承出来的新类称为派生类,
可以简单的理解为:基类为父亲,派生类为儿子。

继承的方式有三种,分别是 
公有继承(public) ;
私有继承(private) ;
保护继承(protected);


不同类型的继承对基类成员的访问权限也是不同的
总结 :
//基类属性 public protected private
//公有继承 public protected
//保护继承 protected protected
//私有继承 private private

接下来通过自己写的一个案例解释继承权限

#include "stdafx.h"
#include
#include
using namespace std;

class Father //定义一个基类
{
public:
Father(); //声明构造函数
void get()
{
cout << "爸爸访问自己的身高是" << height << endl;
cout << "爸爸访问自己的年龄是" << age << endl << endl;
}
private: //爸爸不想让别人知道自己的年龄,所以把年龄放到private里
int age;
protected:
int height;
};
Father::Father() //定义构造函数
{
age = 40;
height = 180;
}

class Son :public Father //公有继承
{
public:
void get() //访问父亲的信息
{
cout << "儿子访问父亲的身高是" << height << endl;
cout << "儿子访问父亲的年龄是" << "\t" << "//已经声明但是无法访问" << endl << endl;
}
};


class Wife :protected Father
{
public:
void get()
{
cout << "妻子访问父亲的身高是" << height << endl;
}

};

int main()
{
Father f;
f.get();

Son s;
s.get();

Wife w;
w.get();

return 0;
}

运行结果如下:
继承类对基类成员的访问权限