【C++】运算符重载示例一
2019-08-12 11:10
1251 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_15698613/article/details/99291855
mytime0.h
[code]//mytime0.h -- 时间类重载 #ifndef MYTIME0_H_ #define MYTIME0_H_ class Time { private: int hours; int minutes; public: Time(); Time(int h, int m = 0); void AddMin(int m); void AddHr(int h); // 重新设置时间 void Reset(int h = 0, int m = 0); Time Sum(const Time & t) const; void Show() const; ~Time(); }; #endif
mytime0.cpp
[code]// mytime0.cpp -- 类的实现 #include<iostream> #include "mytime0.h" Time::Time() { hours = minutes = 0; } Time::Time(int h, int m) { hours = h; minutes = m; } void Time::AddMin(int m) { minutes += m; hours += minutes / 60; minutes %= 60; } void Time::AddHr(int h) { hours += h; } void Time::Reset(int h, int m) { hours = h; minutes = m; } //参数设为引用是为了提高效率 //返回值不能是引用,否则由于是局部变量,一会就删除不存在了 //而Time在删除现在的sum之前会拷贝副本给调用的 Time Time::Sum(const Time & t) const { Time sum; sum.minutes = minutes + t.minutes; sum.hours = hours + t.hours + sum.minutes / 60; sum.minutes %= 60; return sum; } void Time::Show() const { std::cout << hours << "hours, " << minutes << " minutes"; } Time::~Time() { }
usetime0.cpp
[code]//usetime0.cpp -- 使用第一个版本的Time类 //记得和mytime0类编译 #include<iostream> #include"mytime0.h" int main() { using std::cout; using std::endl; Time planning; Time coding(2, 40); Time fixing(5, 55); Time total; cout << "计划时间是:"; planning.Show(); cout << endl; cout << "代码实际时间是:"; coding.Show(); cout << endl; cout << "调整时间是:"; fixing.Show(); cout << endl; total = coding.Sum(fixing); cout << "coding.Sum(fixing) = "; total.Show(); cout << endl; return 0; }
运行结果
程序解读
其实我已经将重点的标注到程序里了,但是考虑大家未必认真看程序,还是说明有几个重要的地方要注意
相关文章推荐
- C++基础——运算符重载友元函数示例
- C++ 运算符重载示例
- linux c++示例
- C++primer5th十四章_几个类的运算符重载
- 我的c++学习(8)运算符重载和友元
- 从零开始学C++之STL(十一):容器适配器(stack、 queue 、priority_queue)源码浅析与使用示例
- c++运算符重载string类
- C++中调用Lua配置文件和响应函数示例
- C++基础(六)在对象中使用运算符——运算符重载
- Eclipse、MinGW、JNI编写C++生成dll, Java端调用的完整示例(附java.lang.UnsatisfiedLinkError解决方法)
- 编程及C/C++初学者 FAQ 四、教材、习题和示例
- C++实践分数类中运算符重载的方法参考
- 第八章 C++函数的高级特性(8.3 参数的缺省值 8.4 运算符重载 8.5 函数内联)
- 运算符重载 - C++快速入门25
- C++学习笔记十四-运算符重载
- c++学习笔记5:运算符重载、友元和类的类型转换
- C++语法概括及其示例(示例代码下载)
- C++中的运算符重载(源码分享)
- C++:运算符重载1(分数的加法)
- (转)c++的运算符重载