MCPcopy Create free account
hub / github.com/ShiqiYu/CPP / MyTime

Class MyTime

week11/examples/unique_ptr.cpp:4–45  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2#include <memory>
3
4class MyTime
5{
6 int hours;
7 int minutes;
8 public:
9 MyTime(): hours(0), minutes(0)
10 {
11 std::cout << "Constructor MyTime()" << std::endl;
12 }
13 MyTime(int m): hours(0), minutes(m)
14 {
15 std::cout << "Constructor MyTime(int)" << std::endl;
16 this->hours += this->minutes / 60;
17 this->minutes %= 60;
18 }
19 MyTime(int h, int m): hours(h), minutes(m)
20 {
21 std::cout << "Constructor MyTime(int,int)" << std::endl;
22 this->hours += this->minutes / 60;
23 this->minutes %= 60;
24 }
25 ~MyTime()
26 {
27 std::cout << "Destructor MyTime(). Bye!" << std::endl;
28 }
29 MyTime operator+(int m) const
30 {
31 MyTime sum;
32 sum.minutes = this->minutes + m;
33 sum.hours = this->hours;
34 sum.hours += sum.minutes / 60;
35 sum.minutes %= 60;
36 return sum;
37 }
38 friend std::ostream & operator<<(std::ostream & os, const MyTime & t)
39 {
40 std::string str = std::to_string(t.hours) + " hours and "
41 + std::to_string(t.minutes) + " minutes.";
42 os << str;
43 return os;
44 }
45};
46
47
48int main()

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected