C++类的构造函数 后单冒号加基类 例如:CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD)

本文详细解释了C++中派生类构造函数如何通过初始化列表调用基类构造函数的过程。特别是当基类构造需要参数时,派生类构造函数如何正确传递这些参数。

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

CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD)


比如两个类

   class A
    {
     A(int *x);
      ...
    }
 
   class B : public A
   {
    B(int *x);
    ...
    }

然后B在构造的时候
    B::B(int *x) : A(x)
    {
     ...
    }

       B是A的子类,B类对象在构造过程中必须先构造出一个A类对象,而A类的构造函数需要一个参数,就在这个:A(X)中把参数传递过去。这个写法叫“初始化列表”,它会在B的构造函数的{...}之前执行。如果不加,A又没有无参数的默认构造函数,应该不能通过编译。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值