一、为什么要提供类继承

  1. 从c语言方面来说:目前c语言常用的是c库。这些c库一般不提供源码。因此当你想按照自己的想法改变c库函数的功能时无法实现。即使c库提供源码,在修改时有一定的风险,如不经意改变了函数的工作方式或改变了函数之间的关系。
  2. 对于c++来说。提高了更高层次的重用性。目前很多商提供了类库。类库由声明和实现构成,因为类组合了数据表示和类方法。因此提供了比库函数更高的重用性。类库是以源码的方式提供,意味着可以修改,以满足要求。但有更好的一种方法叫做类继承。可以更好的扩展和修改类。
    二、派生类使用时注意的方面:
    1.派生类使用公有派生,基类的公有成员将成为派生类的公有成员;基类的私有部分也成为派生类的一部分,但只能通过基类的公有和保护方法访问
    2.需要在继承特性中添加什么:
    (1)派生类需要添加自己的构造函数
    (2)派生类可以根据需要添加额外的数据成员和成员函数
    3.派生类的构造函数要点如下:
    (1)首先创建基类对象;
    (2)派生类构造函数应通过成员初始化列表将基类信息传递给基类
    构造函数
    (3)派生类构造函数应初始化派生类新增的数据数据成员
    4.释放对象的过程与建立的过程相反

    三、派生类和基类的特殊关系
    1.派生类可以使用基类的方法
    2.基类指针或引用可以在不进行显示转换的情况下指向派生类对象,*反之则不行 但基类指针或引用只能调用基类方法。如以下所示
    例 Derive a;
    Base &b = a;
    Base
    b1 = &a;
    b.name();
    b1->name();
    其中name()为基类的方法
    实质:派生类继承了父类的方法。即派生类分配的空间中有父类的方法、如下图所示
    类继承
    3.C++要求引用和指针与赋给的类型匹配。从2可知。这一规则对继承例外

相关文章: