当前位置: 代码迷 >> 综合 >> C++中自增操作符的重载:operator++()与operator(int)
  详细解决方案

C++中自增操作符的重载:operator++()与operator(int)

热度:43   发布时间:2023-09-18 22:55:07.0

做个实验就明白了:

#include <iostream>
#include <utility>
class Int {
public:explicit Int(int i_) : i(i_){}Int operator++(int inc) {	// 后置std::cout << "后置" << std::endl;Int tmp = *this;i += 1;return tmp;}Int& operator++() {	// 前置std::cout << "前置" << std::endl;i += 1;return *this;}public:int i;
};int main() {Int b(1);std::cout << (b++).i << std::endl;std::cout << "------------------" << std::endl;std::cout << (++b).i << std::endl;return 0;
}

运行结果:

后置
1
------------------
前置
3
  相关解决方案