C++题目,如图,希望给出比较完整的编程,谢谢指导!

如题所述

#include <stdio.h>
#include <time.h>

class date
{
public:
    date( char * NewD );
    date( int NewY, int NewM, int NewD );
    date();
    void show();
private:
    int y, m, d;
};

date::date( char * NewD )
{
    sscanf( NewD, "%d-%d-%d", &y, &m, &d );
}

date::date( int NewY, int NewM, int NewD )
{
    y = NewY;
    m = NewM;
    d = NewD;
}

date::date()
{
    time_t timep;
    struct tm * p;
    time(&timep);
    p = localtime(&timep);
    y = p->tm_year+1900;
    m = p->tm_mon + 1;
    d = p->tm_mday;
}

void date::show()
{
    printf( "%d-%d-%d\n",y,m,d );
}

int main()
{
    date d1, d2(2011,3,8), d3( "2011-03-19" );
    d1.show();
    d2.show();
    d3.show();
    return 0;
}


结果:

2015-3-19

2011-3-8

2011-3-19


参考资料:

http://baike.baidu.com/view/1364018.htm

http://baike.baidu.com/link?url=3RqBc15G_OgcN87QqMimSIYbrHtQie3Mw0n7792wFsvWvI7sYOvgq1NPVqXDp4plAWfk5jnJlQmWWAQ4XBmvdK

温馨提示:答案为网友推荐,仅供参考
相似回答