继承权限及关系简单阐述

2023-10-20 16:44:37 浏览数 (2)

类具有三种成员属性,一种是public、一种是protected、一种是private。这三种在派生的类中也有不同的访问权限,当然不单单只看父类的成员属性,还要看派生类以什么方式继承父类,如下代码所示:

代码语言:javascript复制
#include 
using namespace std;
class Base// 父类,又称为基类
{
public:
int pub;
// protected 通过类对象访问的时候,等同于private
protected:
int pro;
private:
int pri;
};
// Derive 为 Base 的子类,又称 Base 的派生类
class Derive : public Base
{
public:
void display()
{
pub = 200;
pro = 200;
/*pri = 200;   //不允许的*/
}
};
#if 0
基类属性public继承protected继承private继承
publicpublicprotectedprivate
protectedprotectedprotectedprivate
privateinaccessable        inaccessableinaccessable
#endif
int main(int argc, char* argv[])
{
Derive d;
d.pub = 300;
/*d.pro = 200;//不允许的*/
/*d.pri = 200;//不允许的*/
return 0;
}
 基类属性
 public继承
 protected继承
 private继承
 public 成员
 public
 protected
 private
 protected 成员
 protected
 protected
 private
 private 成员
 inaccessable
 inaccessable
 inaccessable

0 人点赞