C++ 继承与派生(二)

本文介绍了C++中的派生类如何通过构造函数初始化基类成员,包括单继承和多继承的情况。派生类的复制构造函数在没有声明时会被隐式生成,而析构函数不被继承,需要派生类自行声明。同时,文章讨论了如何访问和区分派生类与基类中同名的成员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

派生类把基类继承以后,怎么样通过派生类完成对基类成员进行初始化呢?一般默认情况下,基类的构造函数不被继承,派生类需要定义自己的构造函数。一般情况下,通过派生类将参数传递给基类的构造函数,完成对基类的初始化,C++11规定,可以使用using语句继承基类构造函数,但是只能初始化从基类继承的成员,语法形式:using B::B。

1. 派生类的构造函数

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

  • 派生类新增成员:派生类定义构造含函数初始化;
  • 继承来的成员:自动调用基类构造函数进行初始化;
  • 派生类的构造函数需要给积累的构造函数传递参数

 1.2  单继承时构造函数的定义语法:

派生类名::派生类名(基类所需的形参,本类成员所需的形参):
基类名(参数表),本类成员初始化列表
{
   //其他初始化
};

  1.3   多继承时构造函数的定义语法:

派生类名::派生类名(参数表)
基类名1(基类1初始化参数表),
基类名2(基类2初始化参数表),
...
基类名n(基类n初始化参数表),
本类成员初始化列表
{
    //其他初始化;
};

1.4  派生类与基类的构造函数

当基类有默认构造函数时

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值