Assignment
25
Create a class time that contains hours, minute
and seconds as data members. Write the member function to overload operator ‘+’
to add two object of type time (Use Parameterized constructor to accept values
for time).
Program
Code for run:
#include
<iostream>
#include
<iomanip>
using
namespace std;
class
Time
{
int
hh, mm, ss;
public:
Time(int
h = 0 , int m = 0, int s = 0)
{
hh
= h;
mm
= m;
ss
= s;
}
void
operator+( Time t)
{
Time t1;
t1.hh = this->hh + t.hh;
t1.mm = this->mm + t.mm;
t1.ss
= this->ss + t.ss;
float
m = 0, s = 0;
if
( t1.ss > 60)
{
float
s = t1.ss / 60;
t1.ss
= t1.ss % 60;
t1.mm
= t1.mm + s;
}
if
( t1.mm > 60)
{
float
m = t1.mm / 60;
t1.mm
= t1.mm % 60;
t1.hh
= t1.hh + m;
}
cout << “* * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *”<<endl;
cout << ” \t \t Addition of Time ” << endl;
cout << ” \t \t Format HH : MM : SS ” << endl;
cout << “* * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *”<<endl;
cout << ” \t \t T
I M E ” << endl;
cout << ” – – – – – – – – – – –
– – – – – – – – – – – – – – – – – – – – -“;
cout << endl;
cout << ” \t “<<
setw(6) << ” hours: “;
cout << ” \t “<<
setw(6) << ” minute: “;
cout << ” \t “<<
setw(6) << ” seconds: ” << endl;
cout << “ T1″;
cout << ” \t “<<
setw(6) << this->hh ;
cout << ” \t “<<
setw(6) << this->mm ;
cout << ” \t “<<
setw(6) << this->ss << endl;
cout << “ +
” << endl;
cout << “ T2″;
cout << ” \t “<<
setw(6) << t.hh ;
cout << ” \t “<<
setw(6) << t.mm ;
cout << ” \t “<<
setw(6) << t.ss << endl;
cout << ” – – – – – – – – – – –
– – – – – – – – – – – – – – – – – – – – -“;
cout << endl;
cout << “Result”;
cout << ” \t ” <<
setw(6) << t1.hh ;
cout << ” \t “<<
setw(6) << t1.mm ;
cout << ” \t “<<
setw(6) << t1.ss << endl;
cout << “* * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *”<<endl;
}
};
int
main()
{
int h, m, s;
cout << “* * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *”<<endl;
cout << ” \t Accept values for
time ” << endl;
cout << “ Time format Hours : Minutes : Seconds
” << endl;
cout << “* * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *”<<endl;
cout << ” \t Accept values for
time T1 ” << endl;
cout << “ Time format Hours : Minutes : Seconds
” << endl;
cout << “* * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *”<<endl;
cout << ” \t Accept Hours for
Time T1 ” << endl << ” \t “;
cin >> h;
cout << ” \t Accept Minute for
Time T1 ” << endl << ” \t “;
cin >> m;
cout << ” \t Accept seconds for
Time T1 ” << endl << ” \t “;
cin >> s;
Time t1(h, m, s);
cout << “* * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *”<<endl;
cout << ” \t Accept values for
time T2 ” << endl;
cout << ” \t Time format Hours :
Minute : Seconds ” << endl;
cout << “* * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *”<<endl;
cout << ” \t Accept Hours for
Time T2 ” << endl << ” \t “;
cin >> h;
cout << ” \t Accept Minute for
Time T2 ” << endl << ” \t “;
cin >> m;
cout << ” \t Accept seconds for
Time T2 ” << endl << ” \t “;
cin >> s;
Time t2(h, m, s);
t1+t2;
return 0;
}
Output
of Program:
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Accept values for time
Time format Hours : Minutes : Seconds
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Accept values for time T1
Time format Hours : Minutes : Seconds
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Accept Hours for Time T1
7
Accept Minute for Time T1
55
Accept seconds for Time T1
59
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Accept values for time T2
Time format Hours : Minute : Seconds
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Accept Hours for Time T2
8
Accept Minute for Time T2
45
Accept seconds for Time T2
50
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Addition of Time
Format HH : MM : SS
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
T
I M E
– – – – – – – – – – – – – – – – – – – – – – –
– – – – – – – – –
hours:
minute: seconds:
T1 7 55
59
+
T2 8 45 50
– – – – – – – – – – – – – – – – – – – – – – –
– – – – – – – – –
Result 16
41 49
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *