自学内容网 自学内容网

C++ //练习 14.49 为上一题提到的类定义一个转换目标是bool的类型转换运算符,先不用在意这么做是否应该。

C++ Primer(第5版) 练习 14.49

练习 14.49 为上一题提到的类定义一个转换目标是bool的类型转换运算符,先不用在意这么做是否应该。

环境:Linux Ubuntu(云服务器)
工具:vim

 

代码块
class Date{
public:
Date();
Date(size_t y, size_t m, size_t d): year(y), month(m), day(d) {}

operator bool() const {
int no;
size_t mon[2][12] = {{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}};
if(leap(year)){
no = 1;
}
else{
no = 0;
}
if((month >=1 && month <= 12) && (day >=1 && day <= mon[no][month-1])){
return true;
}
else{
return false;
}
}
bool leap(size_t y);

private:
size_t year;
size_t month;
size_t day;
};
bool Date::leap(size_t y){
if((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0)){
return true;
}
else{
return false;
}
}

原文地址:https://blog.csdn.net/navicheung/article/details/140312495

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!