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
查看全文
相关阅读:
php 使用正则匹配中文 返回结果
怎样判断一个jquery对象是否为空jquery对象
关于tp5.0中对象数组转换普通数组使用助手函数collection而不是toArray
PHP 面试题三
PHP 面试题二
PHP 面试题 一
laravel 学习笔记 —— 神奇的服务容器
ubuntu下安装opencv库+Python2.7环境安装及开发摄像头拍照应用
Linux内核分析(七)----并发与竞态
Linux内核分析(六)----字符设备控制方法实现|揭秘系统调用本质
原文地址:https://www.cnblogs.com/yukun/p/926648.html
最新文章
python3获取当前目录和上级目录
python3 获取当前调用函数名
python3 lambda函数
python3反射
python去掉字符串'xa0'
PyCharm:ModuleNotFoundError: No module named 'HTMLTestRunner'
unknown error: call function result missing 'value'
kafka 入门
KafKa api
JavaSript模块规范
热门文章
Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(前言)
SpringMVC,Ehcache
Java缓存框架使用EhCache结合Spring AOP
Ehcache配置详解及CacheManager使用
ASCII码对照表
在MyEclipse中更换或修改svn的用户名和密码
使用Spring的@Scheduled实现定时任务
JS中数组声明
JS正则验证两位小数,验证数字最简单正则表达式大全
tp5 字段验证表中是否唯一
Copyright © 2011-2022 走看看