⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pr11007.cpp

📁 c++编程宝典源码及Quincy99编译器 是《标准C++编程宝典》电子工业出版社的光盘
💻 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 + -