C++中带初始化参数的构造函数

Constructor with initialized parameter in C++

我的导师要求我们填写与这些原型相关的构造函数:

YearToMonth(short years=0);
YearToMonth(short years, short months);

我的问题是:1参数的构造函数,传入的值是否总是=0?我以前从未见过为参数赋值的函数。当值将被设置为零时要求输入似乎有点奇怪,但后来我没有得到任何关于此的文档 class 所以我真的不知道它做了什么。

这是一个default argument。它的作用是在用户未明确指定时提供默认值。例如:

YearToMonth();   // calls YearToMonth(short ); with years=0
YearToMonth(2);  // calls YearToMonth(short ); with years=2 

这是参数的默认值。如果您将自己的值传递给它,它将被设置为您的值。