📄 pr11007.cpp
字号:
////////////////////////////////////////
// File Name: pr11007.cpp
////////////////////////////////////////
#include <iostream>
////////////////////////////////////////
// CustomDate class declaration and
// definition.
////////////////////////////////////////
class CustomDate
{
public:
int da, yr;
CustomDate(int d = 0, int y = 0) { da = d; yr = y;}
void display(){ std::cout << std::endl
<< yr << '-' << da; }
};
////////////////////////////////////////
// Date class declaration.
////////////////////////////////////////
// Date class.
class Date
{
int mo, da, yr;
public:
// Constructor.
Date(int m = 0, int d = 0, int y = 0)
{ mo = m; da = d; yr = y; }
// Constructor conversion function.
Date(const CustomDate&);
// Member conversion function.
operator CustomDate();
void display(){std::cout << std::endl
<< mo << '/' << da
<< '/' << yr;}
};
static int dys[] = {31,28,31,30,31,30,31,31,30,31,30,31};
////////////////////////////////////////
// Date class definition.
////////////////////////////////////////
// Constructor conversion function (Date <- CustomDate).
Date::Date(const CustomDate& jd)
{
yr = jd.yr;
da = jd.da;
for (mo = 0; mo < 11; mo++)
if (da > dys[mo])
da -= dys[mo];
else
break;
mo++;
}
// Member conversion function (CustomDate <- Date)
Date::operator CustomDate()
{
CustomDate cd(0, yr);
for (int i = 0; i < mo-1; i++)
cd.da += dys[i];
cd.da += da;
return cd;
}
////////////////////////////////////////
// The main() function.
////////////////////////////////////////
int main()
{
Date dt(11,17,97);
CustomDate cd;
// Convert Date to CustomDate.
cd = dt;
cd.display();
// Convert CustomDate to Date
dt = cd;
dt.display();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -