pr12008.cpp

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

CPP
59
字号
////////////////////////////////////////
// File Name: pr12008.cpp
////////////////////////////////////////
#include <iostream>

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

public:
    Date(int m=0, int d=0, int y=0)
		{ mo = m; da = d; yr = y; }
    void display()
        { std::cout << '\n' << mo << '/' << da << '/' << yr; }
};

////////////////////////////////////////
// "Smart" Date pointer.
////////////////////////////////////////
class DatePtr
{
    Date* dp;

public:
    DatePtr(Date* d = 0) { dp = d; }
    Date* operator->()
    {
        static Date nulldate(0,0,0);
        if (dp == 0)           // if the pointer is null
            return &nulldate;  // return the dummy address
        return dp;             // otherwise return the pointer
    }
};

////////////////////////////////////////
// The main() function.
////////////////////////////////////////
int main()
{
    // Date pointer with nothing in it.
    DatePtr dp;

    // Use it to call display function.
    dp->display();

    Date dt(3,17,90);

    // Put address of date in pointer.
    dp = &dt;

    // Display date through the pointer.
    dp->display();

    return 0;
}

⌨️ 快捷键说明

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