C++类-使用默认参数的构造函数

使用默认参数的构造函数

       构造函数中的参数的值即可以通过实参传递,也可以指定为某些默认值,在介绍函数的定义时,函数的参数,可以设置默认值。那么,通过这种方式,可以在构造函数中设置参数的默认值,用这样的方法来实现初始化。

改进上面分析的student类,构造函数改用含默认值的参数,测试代码如下:

程序运行结果如下:

       可以看到,在student类中只定义了一个构造函数,在构造函数的参数列表中,提供了默认值。如下:

student(char* pn="wkf", char* pa="china", long long n=168);

       那么,定义stud变量的时候,如下:

student stud;

       此时,student类已经定义构造函数,编译器不再提供默认构造函数。那么,就调用student

类中的构造函数:

student(char* pn="wkf", char* pa="china", long long n=168);

       那么,使用student类构造函数中携带的默认参数值。相当于:

student stud("wkf", "china", 168);

       所以,给stud对象设置了默认的构造函数参数。

       那么,在定义构造函数时,函数参数提供默认值。当没有给参数传递实参时,就采用默认的参数值。

       而且,也可以给构造函数传递参数,例如:

student stud1("wkf", "www.mylinux.vip", 13926572996);

       此时,定义了stud1对象,给调用的构造函数设置参数。所以,不使用构造函数定义的默认参数值。

归纳总结如下:

(1) 应该在什么地方指定构造函数的默认参数?应该在声明构造函数时指定默认,而不能只在定义构造函数时指定默认值。在声明构造函数时指定默认参数值,让用户知道在建立对象时怎么样使用默认参数。

(2) 如果构造函数的全部参数都指定了默认值,那么,在定义对象时可以给一个或几个实参,也可以不给出实参。

韦凯峰 Linux C/C++ 程序设计教程,Linux 系统编程,Openwrt 系统开发,微信:13926572996,QQ:1523520001,博客:www.mylinux.vip

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韦凯峰Linux编程学堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值