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;
	}
}

相关推荐

  1. C++ 类型转换函数

    2024-07-10 13:10:05       17 阅读
  2. c 不同类型指针转换

    2024-07-10 13:10:05       28 阅读
  3. C++类型转换

    2024-07-10 13:10:05       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 13:10:05       4 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 13:10:05       5 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 13:10:05       4 阅读
  4. Python语言-面向对象

    2024-07-10 13:10:05       5 阅读

热门阅读

  1. 精通C#编程需要学习哪些常用框架?

    2024-07-10 13:10:05       8 阅读
  2. Redis高可用解决方案哨兵模式与集群模式的比较

    2024-07-10 13:10:05       7 阅读
  3. C#实用的工具类库

    2024-07-10 13:10:05       10 阅读
  4. 4085行代码还原2D我的世界(上)

    2024-07-10 13:10:05       8 阅读
  5. 大数据面试题之GreenPlum(1)

    2024-07-10 13:10:05       10 阅读
  6. 量化机器人能否识别市场机会?

    2024-07-10 13:10:05       9 阅读
  7. 探讨SpringMVC的工作原理

    2024-07-10 13:10:05       9 阅读
  8. CSS布局艺术:掌握水平与垂直对齐的秘诀

    2024-07-10 13:10:05       6 阅读
  9. SQL 游标

    2024-07-10 13:10:05       8 阅读
  10. 0706_ARM8

    2024-07-10 13:10:05       11 阅读