【C++】重载++符号完成时间计算

By e2hang at 2025-05-06 • 0人收藏 • 50人看过
#include <iostream>
class time {
private:
	int h;
	int min;
public:
	time() {
		h = 0;
		min = 0;
	}
	time(int hour, int minute) {
		h = hour;
		min = minute;
	}
	time operator++() {
		min++;
		if (min >= 60) {
			h += min / 60;
			min %= 60;
			
		}
		return *this;
	}
	time operator++(int) {
		min += 2;
		if (min >= 60) {
			h += min / 60;
			min %= 60;
			
		}
		return *this;
	}
	void out() {
		std::cout << "The Time is : " << h << " " << min << std::endl;
	}
};
int main() {
	int h1, h2, m1, m2;
	std::cin >> h1 >> m1 >> h2 >> m2;
	time t1(h1, m1), t2(h2, m2);
	t1++;
	++t2;
	t1.out();
	t2.out(); 
	return 0;
}

image.png

1 个回复 | 最后更新于 2025-05-06
2025-05-06   #1

比较大的问题是time在标准库里也有,所以最好的解决方法是把time换成Time或者其他名称。C++是对于大小写敏感的,所以换成Time也可以

登录后方可回帖

登 录
信息栏
欢迎来到滑稽社论坛!注册会员即可发帖!

你好啊

Loading...