copycon2.cpp

来自「c语言教程源码」· C++ 代码 · 共 60 行

CPP
60
字号
//这个程序在本书所带软盘中,文件名为COPYCON2.CPP
//这个程序演示利用自定义的复制构造函数来定义两个对象。

#include <iostream.h>

class Date
{
	private:
		int month;
		int day;
		int year;
	public:
		Date(int, int, int);
		Date(const Date &);				//复制构造函数
		void showdate(void);
};

Date::Date(int mm = 9, int dd = 1, int yy = 1960)
{
	month = mm;
	day = dd;
	year = yy;
}

Date::Date(const Date &copydate)		//编写自定义复制构造函数
{
	month = copydate.month;
	day = copydate.day;
	year = copydate.year + 20;
}

void Date::showdate(void)
{
	cout << month << "/" << day << "/" << year << endl;
}

void main(void)
{
	Date my_birthday;
	Date birthday_party(my_birthday);	//利用复制构造函数产生新对象birthday_party
	Date c(8,20,55);					//定义对象c并使之具有用户设定的日期
	Date d(c);							//利用复制构造函数产生新对象d

	cout << "对象 my_birthday 中的初始化日期为:";
	my_birthday.showdate();
	cout << "对象 birthday_party 中的初始化日期为:";
	birthday_party.showdate();

	cout << "对象 c 中的初始化日期为:";
	c.showdate();
	cout << "对象 d 中的初始化日期为:";
	d.showdate();
}

/*这个程序运行后将产生如下输出结果:
对象 my_birthday 中的初始化日期为:9/1/1960
对象 birthday_party 中的初始化日期为:9/1/1980
对象 c 中的初始化日期为:8/20/55
对象 d 中的初始化日期为:8/20/75
*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?