Advertisement

C++继承与派生

阅读量:

在派生类继承基类之后,如何借助派生类实现对基类成员的初始化操作?通常情况下,基类的构造函数并不会被自动继承,因此派生类需要自行定义构造函数。一般而言,派生类会将相关参数传递至基类的构造函数中,以完成对基类部分的初始化工作。C++11标准引入了using语句,允许派生类继承基类的构造函数,但该方式仅适用于对从基类继承而来的成员进行初始化,其语法结构为:using B::B。

1. 派生类的构造函数

1.1 若未继承基类的构造函数:

  • 派生类中新增的成员变量:需在构造函数中进行初始化操作;
  • 从基类继承的成员变量:系统会自动调用基类的构造函数完成初始化;
  • 派生类的构造函数在定义时,需向基类的构造函数传递相应的参数

1.2 单继承情形下构造函数的定义方式:

复制代码
 派生类名::派生类名(基类所需的形参,本类成员所需的形参):

    
 基类名(参数表),本类成员初始化列表
    
 {
    
    //其他初始化
    
 };
    
    
    
    

1.3 多继承情形下构造函数的定义语法:

复制代码
 派生类名::派生类名(参数表)

    
 基类名1(基类1初始化参数表),
    
 基类名2(基类2初始化参数表),
    
 ...
    
 基类名

全部评论 (0)

还没有任何评论哟~