美文网首页
c++ 重载前置++和后置++

c++ 重载前置++和后置++

作者: pragmaonce | 来源:发表于2018-10-09 21:43 被阅读0次

前置++:即为++放在变量的左边,如++i;
后置++:即为++放在变量的右边,如i++;

  1. 首先回顾c++中++i与i++的区别:
    ++i表示先将i自增1,再返回i的引用(是左值)
    i++表示先返回i的,再自增1,(右值)
    例如:
    int i=0; (++i)=10; \\是允许的。
    int i=0; (i++)=10; \\编译器会报错。
  2. 在类中重载前置++时,无参数,返回值类型为引用,
    重载后置++时,需要一个int类型的参数(必须为int类型,这一参数仅为了与前置++区分开,不会用于计算),返回值非引用。
class Object{
    ...
public:
    ...
    Object & operator ++ (){ //重载前置++
        *this = *this + 1; //自增1
        return *this;
    }
    Object operator ++ (int){ //重载后置++
        Object temp=*this;
        ++*this; //利用了重载的前置++
        return temp;
    }
};

相关文章

  • c++的运算符重载

    C++中的加号重载:例:实现复数的相加 C++中的前置++重载:例:点的移动 C++中的后置++重载:例:点的移动

  • c++ 重载前置++和后置++

    前置++:即为++放在变量的左边,如++i;后置++:即为++放在变量的右边,如i++; 首先回顾c++中++i与...

  • C++ 自增、自减运算符的重载和性能分析

    01 ++、--运算符重载函数的格式 自增运算符和自减运算符是有前置和后置之分的,如: 为了区分所重载的是前置运算...

  • C++ - 自加/自减运算符的重载

    ++/-- 运算符有前置/后置之分 前置运算符作为一元运算符重载重载为成员函数:T operator++();T ...

  • 第四章 运算符重载

    学习目的 掌握运算符函数的定义; 掌握+、-、++、+=等常用运算符的重载; 了解<<运算符、前置和后置++运算符...

  • Python中Unittest的简单使用

    以下是一个操作示例 包括所有case执行的前置条件和后置条件方法,每条case执行的前置条件和后置条件方法,跳过某...

  • ffmpeg实现的C++纯音频软解码器

    只实现解码,不包含前置的demux,以及后置的resample 要求输入demux后的音频数据 实现的C++类如下...

  • 禽兽不如直接第三讲

    行动和体验前置,道理后置, 饥饿 欲驱动,而不是德驱动,

  • 1.2.15_C++ 关系运算符重载

    C++ 重载运算符和重载函数 C++ 语言支持各种关系运算符( < 、 > 、 <= 、 >= 、 == 等等),...

  • 05.C(递归函数)

    (创建于2017/8/16) 1.前置递归和后置递归前置是倒叙,后置是正序 2.递归十进制转二进制 3.递归求字符...

网友评论

      本文标题:c++ 重载前置++和后置++

      本文链接:https://www.haomeiwen.com/subject/rpayaftx.html