具有默认参数值的构造函数

#include
#include
using namespace std;
class CDate
{
	int Date_year, Date_month, Date_day;
public:
	CDate(int y=2022, int m=3, int d=29);
	void dispaly();
};
CDate::CDate(int y, int m, int d)
{
	cout << "Executing constructor...\n";
	Date_year = y;
	Date_month = m;
	Date_day = d;
}
void  CDate::dispaly()
{
	cout << Date_year << "-" << Date_month << "-" << Date_day << endl;
}

   上面的代码是运用类的定义与带默认值的构造函数共同实现,在这里我讲一下带默认值的构造函数。带默认值的构造函数是在对类的定义里面进行赋值,最后输出结果为2022-3-29;

    在这里给大家解释一下display的意思,是指调用子函数的意思。

大家再看下一篇的代码:

#include
#include
using namespace std;
class CDate
{
	int Date_year, Date_month, Date_day;
public:
	CDate(int y=2022, int m=3, int d=29);
	void Display();
};
int main()
{
	CDate initiateday;
	CDate newday(2019);
	CDate today(2019, 3, 9);
	cout << "Initiateday  is:";
	initiateday.Display();
	cout << "newday is:";
	newday.Display();
	cout << "today is:";
	today.Display();
	return 0;
}

   这里的主函数就变了,“  CDate   intiateday”语句在这里意思是若无参,则取默认参数。

    我们事先定义了CDate()的函数,下面引用是需加个对象,(在c++中,类相当于c语言中的数学类型,对象相当于c语言中的变量),因此我们知道当赋值时候,类名CDate后面要加个对象,否则的话是则会显示错误;

    上面代码语句CDate newday(2019);可知此时y变成了2022了,所以结果变成了newday is:2019-3-29;下面的CDate  today(2019,3,9),以此类推;

(若代码或者是解释里面有什么错误地方,欢迎来指正。)

你可能感兴趣的:(c++,c++)