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

#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),以此类推;

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

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

silence_sz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值