C++类-使用默认参数的构造函数
Posted LC编程开发者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于C++类-使用默认参数的构造函数的主要内容,如果未能解决你的问题,请参考以下文章