自己理解的C++委托构造函数

就是将无参,少数参数的委托给多参数的去构造。
譬如下面的钟表例子
首先没有用委托构造的写法

class Clock
{
    public :
        Clock();//无参
        Clock(int h,int m,int s);//带三个参数的
    private :
        int Hour,Minute,Second;
};
Clock::Clock():Hour(0),Minute(0),Second(0){};//默认无参的
Clock::Clock(int h,int m,int s):Hour(h),Minute(m),Second(s){};//下面方法好用

这样的话下面对无参的函数写起来有些繁琐。因为无参函数赋值都为零,
不如直接将三个参数的值赋值为零,不就是无参的构造函数了吗。
下面是委托构造函数:

class Clock
{
    public :
        Clock():Clock(0,0,0){};//无参(同样适用一个参数的,委托给带三个参数的去构造就行)
        Clock(int h,int m,int s):Hour(h),Minute(m),Second(s){};//带三个参数的
    private :
        int Hour,Minute,Second;
};

这样代码很简洁,不用再去重复的构造,特别当重载构造函数的时候,直接委托一个多参数的去构造其他参数少的就行了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值