学习笔记:构造函数转发

class SomeType {
    int i_;
    int j_;
    int k_;
public:
    SomeType(int i,int j,int k): i_{i},j_{j},k_{k} { cout<<"3\n";}
    SomeType(int i,int j ) : SomeType(i,j,0){ cout<<"2\n";}
    SomeType(int i) :  SomeType(i,0){ cout<<"1\n";}

};


 SomeType d(0); 
 
程序输出为:
3
2
1
 
C++03语法,只能通过一个公共函数,比如随便一个名字Init()函数,来完成公共逻辑。
class SomeType {
    int i_;
    int j_;
    int k_;
    void Init(int i,int j,int k){ i_=i,j_=j,k_=k; }
public:
    SomeType(int i,int j,int k) { Init(i,j,k);}
    SomeType(int i,int j ){ Init(i,j,0); }
    SomeType(int i){ Init(i,0,0);}
};


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值