9.51 设计一类,它又三个unsigned成员,分别表示年月日。为其编写构造函数,接受一个表示日期的string参数。
程序如下:
#include#include using namespace std;class My_Date{public: My_Date(const string &s); unsigned year; unsigned month; unsigned day;};My_Date::My_Date(const string &s){ unsigned format=0; if(s.find_first_of("/")!=string::npos) format=0x10; if(s.find_first_of(",")!=string::npos) format=0x01; switch(format) { case 0x10: day=stoi(s.substr(0,s.find_first_of("/"))); month=stoi(s.substr(s.find_first_of("/")+1,s.find_last_of("/")-s.find_first_of("/"))); year=stoi(s.substr(s.find_last_of("/")+1,4)); break; case 0x01: day=stoi(s.substr(s.find_first_of("0123456789"),s.find_first_of(",")-s.find_first_of("0123456789"))); if(s.find("Jan")
运行结果如下: