萌新业余时间学c++中,学过一点c之前,下面一个自己写的9.52答案,尽量用到了前面学到的知识,与大加分享交流一下,希望能互相讨论学习。
/**
****************************************************************************************
* @FilePath: MyDate.h
* @Author: YMM
* @Date: 2024-04-07 22:00:13
* @LastEditors:
* @LastEditTime: 2024-04-07 22:00:13
* @Copyright: 2024 xxxTech CO.,LTD. All Rights Reserved.
* @Descripttion:
****************************************************************************************
*/
#ifndef _MYDATE_
#define _MYDATE_
#include <string>
#include <vector>
class MyDate
{
public:
MyDate(const std::string &Date)
{
int i = 1;
Month = 0;
for (const auto &it : MonthVector)
{
if (Date.find(it) != std::string::npos) // 匹配到月份单词
{
Month = i;
}
++i;
}
std::string str(" /");
auto be = Date.begin() + Date.find_first_of(str);
auto en = Date.begin() + Date.find_last_of(str);
std::string Y(en + 1, Date.end()),M(Date.begin(),be), D(be + 1, en);
Year = stoi(Y);
if(0 ==Month)
{
Month = stoi(M);
}
Day = stoi(D);
}
using u32 = unsigned int;
u32 GetYear() const { return this->Year; }
u32 GetMonth() const { return this->Month; }
u32 GetDay() const { return this->Day; }
private:
u32 Year;
u32 Month;
u32 Day;
std::vector<std::string> MonthVector{
"January", "February", "March", "April", "May", "June", "August",
"September", "October", "November", "December"};
};
#endif
标签:std,const,string,c++,Month,Date,u32,9.52,primer
From: https://blog.csdn.net/weixin_45706621/article/details/137482223