#include<iostream>
#include<time.h>
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<iostream>
#include<time.h>
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),以此类推;
(若代码或者是解释里面有什么错误地方,欢迎来指正。)