公有派生类对基类成员的访问规则 1.基类的私有数据。 内部访问OK 对象访问NON 外部访问友元OK,继承类NON 2.基类的保护数据。 内部访问OK 对象访问NON 外部访问友元OK,继承类OK 3.基类的公有数据。 内部访问OK 对象访问OK 外部访问友元OK,继承类OK 2021/224 11
2021/2/24 11 公有派生类对基类成员的访问规则 1. 基类的私有数据。 内部访问 OK 对象访问 NON 外部访问 友元OK,继承类NON 2. 基类的保护数据。 内部访问 OK 对象访问 NON 外部访问 友元OK,继承类OK 3. 基类的公有数据。 内部访问 OK 对象访问 OK 外部访问 友元OK,继承类OK
继承基类的访问权限 派生方式基类中的 基类成员在派生类之外的函 访问权限 派生类中的 数能否访问基类 访问权限 public public public public protected protected 不可访问 publIc private 不可访问不可访问 private public private 不可访问 private protected private 不可访问 private private 不可访问不可访问 2021/224
2021/2/24 12 继承基类的访问权限 派生方式 基类中的 访问权限 基类成员在 派生类中的 访问权限 派生类之外的函 数能否访问基类 中的成员 public public public 可访问 public protected protected 不可访问 public private 不可访问 不可访问 private public private 不可访问 private protected private 不可访问 private private 不可访问 不可访问
抽象类和保护的成员函数 若定义的一个类只能用作基类来派生出新类,而不 能用作定义对象,该类称为抽象类。 当对某些特殊的对象要进行很 好地封装时要定义抽象类。 当将一个类的构造函数或析构函数的访问权限定 义为保护时,该类为抽象类。 当用抽象类作为基类产生派生 类时,在派生类中可调用基类 的保护成员。 2021/224 13
2021/2/24 13 抽象类和保护的成员函数 若定义的一个类只能用作基类来派生出新类,而不 能用作定义对象,该类称为抽象类。 当对某些特殊的对象要进行很 好地封装时要定义抽象类。 当将一个类的构造函数或析构函数的访问权限定 义为保护时,该类为抽象类。 当用抽象类作为基类产生派生 类时,在派生类中可调用基类 的保护成员