pr11015.cpp

来自「c++编程宝典源码及Quincy99编译器 是《标准C++编程宝典》电子工业出」· C++ 代码 · 共 62 行

CPP
62
字号
////////////////////////////////////////
// File Name: pr11015.cpp
////////////////////////////////////////
#include <iostream>

// Forward reference.
class CustomDate;

////////////////////////////////////////
// Date date class.
////////////////////////////////////////
class Date
{
    int mo, da, yr;

public:
    Date(const CustomDate&);  // conversion constructor.
    void display() const
        {std::cout << std::endl << mo
                   << '/' << da << '/' << yr;}
};

////////////////////////////////////////
// CustomDate date class.
////////////////////////////////////////
class CustomDate
{
    int da, yr;

public:
    CustomDate(int d = 0, int y = 0)
        { da = d; yr = y; }

    // Friend conversion function.
    friend Date::Date(const CustomDate&);
};

// Conversion constructor (Date <- CustomDate).
Date::Date(const CustomDate& cd)
{
    static int dys[] = {31,28,31,30,31,30,31,31,30,31,30,31};
    yr = cd.yr;
    da = cd.da;
    for (mo = 0; mo < 11; mo++)
        if (da > dys[mo])
            da -= dys[mo];
        else
            break;
    mo++;
}

////////////////////////////////////////
// The main() function.
////////////////////////////////////////
int main()
{
    Date dt(CustomDate(123, 89));
    dt.display();

    return 0;
}

⌨️ 快捷键说明

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