C++构造函数参数有默认值的情况

编程入门 行业动态 更新时间:2024-10-07 00:27:10

C++构造<a href=https://www.elefans.com/category/jswz/34/1771370.html style=函数参数有默认值的情况"/>

C++构造函数参数有默认值的情况

C++构造函数参数有默认值的情况

有默认参数的构造函数:构造函数中参数的值既可以通过实参传递,也可以指定为某些默认值,即如果用户不指定实参值,编译系统就使形参的值为默认值。

一般来说在类中声明构造函数的时候,给那些带有形参的变量直接赋予初值,之后,再在类外进行具体函数体的编写。或者直接在类中进行定义构造函数的的时候,给形参变量指定数值,在类内进行函数体的书写。

就像函数可以有带默认值的参数一样,构造函数也可以。在下面的代码中,对《C++类中无默认构造函数》 中示例代码的第 11 行的构造函数稍做了修改,给参数 age 指定了默认值 25:

class Human
{private:string name;int age;public:// overloaded constructor (no default constructor)Human(string humansName, int humansAge = 25){name = humansName;age = humansAge;cout << "Overloaded constructor creates " << name;cout << " of age " << age << endl;}// ... other members
};

实例化这个类时,可使用下面的语法:

Human adam("Adam"); // adam.age is assigned a default value 25
Human eve("Eve, 18); // eve.age is assigned 18 as specified  

注意:

默认构造函数是调用时可不提供参数的构造函数,而并不一定是不接受任何参数的构造
函数。因此,下面的构造函数虽然有两个参数,但它们都有默认值,因此也是默认构造
函数:class Human{private:string name;int age;public:// default values for both parametersHuman(string humansName = "Adam", int humansAge= 25){name = humansName;age = humansAge;cout << "Overloaded constructor creates ";cout << name << " of age " << age;}};
因为实例化 Human 对象时仍可不提供任何参数:Human adam; // Human takes default name "Adam",age 25

该文章会更新,欢迎大家批评指正。

推荐一个零声学院的C++服务器开发课程,个人觉得老师讲得不错,
分享给大家:Linux,Nginx,ZeroMQ,MySQL,Redis,
fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,
TCP/IP,协程,DPDK等技术内容
点击立即学习:C/C++后台高级服务器课程

更多推荐

C++构造函数参数有默认值的情况

本文发布于:2023-11-16 17:19:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1628646.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:函数   默认值   参数   情况

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!