设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

C++重载++和-- 自增和自减运算符 剖析

发布时间:2022-07-01 12:53 所属栏目:51 来源:互联网
导读:自增++和自减--都是一元运算符,它的前置形式和后置形式都可以被重载。 上面的代码定义了一个简单的秒表类,m_min 表示分钟,m_sec 表示秒钟,setzero() 函数用于秒表清零,run() 函数是用来描述秒针前进一秒的动作,接下来是三个运算符重载函数。 先来看一
  自增++和自减--都是一元运算符,它的前置形式和后置形式都可以被重载。

  上面的代码定义了一个简单的秒表类,m_min 表示分钟,m_sec 表示秒钟,setzero() 函数用于秒表清零,run() 函数是用来描述秒针前进一秒的动作,接下来是三个运算符重载函数。
 
  先来看一下 run() 函数的实现,run() 函数一开始让秒针自增,如果此时自增结果等于60了,则应该进位,分钟加1,秒针置零。
 
  operator++() 函数实现自增的前置形式,直接返回 run() 函数运行结果即可。
 
  operator++ (int n) 函数实现自增的后置形式,返回值是对象本身,但是之后再次使用该对象时,对象自增了,所以在该函数的函数体中,先将对象保存,然后调用一次 run() 函数,之后再将先前保存的对象返回。在这个函数中参数n是没有任何意义的,它的存在只是为了区分是前置形式还是后置形式。
 
  自减运算符的重载与上面类似,这里不再赘述。

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读