zoukankan
html css js c++ java
再看C++(6)操作符重载
操作符重载看上去很神秘,其实也就是是个函数,只是为了方便人们自然思维的形式,使得用操作符重载这一东东,操作符的格式如下
operator
op(aument
-
list)
如加号 operator +(aument-list)
调用时则是调用这个函数。下面是对于C++Primer 的一个例子设计一个Time的类来进行时间的相加
class
Time
{
private
:
int
m_hours;
int
m_mins;
public
:
void
AddHour(
int
hour);
void
AddMin(
int
minute);
void
Reset(
int
hour,
int
min);
Time Sum(
const
Time
&
t)
const
;
Time();
void
Show()
const
;
virtual
~
Time();
}
;
实现
Time::Time()
{
m_hours
=
0
;
m_mins
=
0
;
}
Time::
~
Time()
{
}
void
Time::AddHour(
int
hour)
{
m_hours
+=
hour;
}
void
Time::AddMin(
int
minute)
{
m_mins
+=
minute;
m_hours
+=
m_mins
/
60
;
m_mins
%=
60
;
}
void
Time::Reset(
int
hour,
int
min)
{
m_hours
=
hour;
m_mins
=
min;
}
Time Time::Sum(
const
Time
&
t)
const
{
Time result;
result.m_hours
=
m_hours
+
t.m_hours;
result.m_mins
=
m_mins
+
t.m_mins;
result.m_hours
+=
result.m_mins
/
60
;
result.m_mins
%=
60
;
return
result;
}
void
Time::Show()
const
{
std::cout
<<
m_hours
<<
"
:
"
<<
m_mins
<<
std::endl;
}
现在要实现+操作符重载由于功能和sum是一样的,所以只需要把sum的名字换成operator+就行了,其他完全不用改
Demo
查看全文
相关阅读:
正则表达式的学习笔记
apply()的使用
for循环性能测试
js基础复习~Array对象
判断值是否为undefined
layui 单选框取消选中
layui 表单验证
火狐浏览器下,表头边框无效
css3 宽度百分比减去固定宽度 无效问题
javaScript中的 call 和 apply
原文地址:https://www.cnblogs.com/yukun/p/926648.html
最新文章
stack的应用
统计单词数:string函数使用
【模板】线性筛素数
【模板】快速幂(积)
成:思维
【模板】字符串哈希
vector:动态数组
New Year and Old Property :dfs
New Year and Domino:二维前缀和
第五届蓝桥杯校内选拔赛
热门文章
[练习] dfs输出全排列
[蓝桥杯历届试题] 第39级台阶
[蓝桥杯历届试题] 汉诺塔计数
[蓝桥杯历届试题] 欧拉与鸡蛋
[蓝桥杯历届试题] 海盗比酒量
[蓝桥杯历届试题] 国庆星期日
[蓝桥杯历届试题]空瓶换汽水; 微生物增殖; 除去次方数
[ACM] hdu 1058 Humble Numbers
[ACM] hdu 4706 Children's Day
[蓝桥杯历届试题] 错误票据
Copyright © 2011-2022 走看看