-
基本概念
class Base { public: // 公有成员 protected: // 受保护成员 private: // 私有成员 }
从已有类派生出新类时,可以在派生类内完成以下功能:
(1)可以增加新的数据成员
(2)可以增加新的成员函数
(3)可以对基类的成员进行重定义
(4)可以改变基类成员在派生类中的访问属性继承方式限定了基类成员在派生类中的访问权限,包括 public、private和protected。如果不写,==默认为 private,==不同的继承方式会影响基类成员在派生类中的访问权限;
派生类会继承基类中除构造函数和析构函数之外的所有成员;
在一个类中,public、protected、private 可以出现多次; -
public继承
1、基类中所有 public 成员在派生类中为 public 属性;
2、基类中所有 protected 成员在派生类中为 protected 属性;
3、基类中所有 private 成员在派生类中不能使用还是私有的,不能在派生类的成员函数中访问或调用,只能通过基类的protected和public接口访问;
4、对象只能调用其public部分的成员;
5、基类的 private 成员是能够被继承,占用派生类空间,但是不能被访问; -
protected继承方式
1、基类中的所有 public 成员在派生类中为 protected 属性;
2、基类中的所有 protected 成员在派生类中为 protected 属性;
3、基类中的所有 private 成员在派生类中不能使用还是私有的,不能在派生类的成员函数中访问或调用,只能通过基类的protected和public接口访问
4、protected 成员和 private 成员类似,也不能通过对象访问,但是派生类中可以使用;
5、基类的 private 成员是能够被继承,占用派生类空间,但是不能被访问;
6、可以被该类中的函数、派生类的函数、友元函数访问,但不可以由该类的对象访问,派生类对象也不能访问; -
private继承方式
1、基类中的所有 public 成员在派生类中均为 private 属性;
2、基类中的所有 protected 成员在派生类中均为 private 属性
3、基类中的所有 private 成员在派生类中不能使用,不能在派生类的成员函数中访问或调用,只能通过基类的protected和public接口访问;
4、可以被该类中的函数、友元函数访问,但不可以由子类的函数、该类的对象访问,派生类对象也不能访问;/font>