Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- using namespace std;
- class Time24{
- private:
- int hh, mm, ss;
- public:
- Time24(): hh(00), mm(00), ss(00) {}
- Time24(int h, int m, int s): hh(h), mm(m), ss(s) {}
- ~Time24() {}
- int getH() {return hh;}
- int getM() {return mm;}
- int getS() {return ss;}
- void showData();
- Time24 operator ++ ();
- Time24 operator ++ (int);
- Time24 operator -- ();
- Time24 operator -- (int);
- Time24 operator + (Time24 A);
- Time24 operator - (Time24 A);
- bool operator > (Time24 A);
- bool operator < (Time24 A);
- bool operator == (Time24 A);
- bool operator != (Time24 A);
- };
- int main (){
- Time24 t1(15, 0, 0), t2(14, 59 , 59);
- ++t1;
- t2--;
- Time24 t3 = t1 + t2;
- Time24 t4 = t1 - t2;
- t1.showData();
- t2.showData();
- t3.showData();
- t4.showData();
- if(t3 != t4) cout << "t3 is not equal to t4" << endl;
- if(t3 < t4) cout << "t3 is smaller than t4" << endl;
- else if(t3 > t4) cout << "t3 is larger than t4" << endl;
- else cout << "t3 is equal to t4" << endl;
- return 0;
- }
- void Time24::showData() {
- cout << setw(2) << hh << ":" << setw(2) << mm << ":" << setw(2) << ss << endl;
- return;
- }
- Time24 Time24::operator ++ () {
- Time24 temp;
- temp.hh = ++hh;
- temp.mm = mm;
- temp.ss = ss;
- return temp;
- }
- Time24 Time24::operator ++ (int) {
- Time24 temp;
- temp.hh = ++hh;
- temp.mm = mm;
- temp.ss = ss;
- return temp;
- }
- Time24 Time24::operator -- () {
- Time24 temp;
- temp.hh = --hh;
- temp.mm = mm;
- temp.ss = ss;
- return temp;
- }
- Time24 Time24::operator -- (int) {
- Time24 temp;
- temp.hh = --hh;
- temp.mm = mm;
- temp.ss = ss;
- return temp;
- }
- Time24 Time24::operator + (Time24 A){
- Time24 temp;
- if(A.ss + ss < 60)
- temp.ss = A.ss + ss;
- else {
- mm++;
- temp.ss = A.ss + ss - 60;
- }
- if(A.mm + mm < 60)
- temp.mm = A.mm + mm;
- else {
- hh++;
- temp.mm = A.mm + mm - 60;
- }
- temp.hh = A.hh + hh;
- return temp;
- }
- Time24 Time24::operator - (Time24 A){
- Time24 temp;
- if(ss - A.ss >= 0)
- temp.ss = ss - A.ss;
- else {
- mm--;
- temp.ss = ss + 60 - A.ss;
- }
- if(mm - A.mm >= 00)
- temp.mm = mm - A.mm;
- else {
- hh--;
- temp.mm = mm + 60 - A.mm;
- }
- temp.hh = hh - A.hh;
- return temp;
- }
- bool Time24::operator > (Time24 A) {
- if(hh > A.hh) return true;
- else if(hh < A.hh) return false;
- if(mm > A.mm) return true;
- else if(mm < A.mm) return false;
- if(ss > A.ss) return true;
- else if(ss < A.ss) return false;
- }
- bool Time24::operator < (Time24 A) {
- if(hh < A.hh) return true;
- else if(hh > A.hh) return false;
- if(mm < A.mm) return true;
- else if(mm > A.mm) return false;
- if(ss < A.ss) return true;
- else if(ss > A.ss) return false;
- }
- bool Time24::operator == (Time24 A) {
- if(hh == A.hh && mm == A.mm && ss == A.ss) return true;
- else return false;
- }
- bool Time24::operator != (Time24 A) {
- if(hh == A.hh && mm == A.mm && ss == A.ss) return false;
- else return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement