注意一下几点:
1、前置++重载时没有参数,而后置++重载时有参数。不会使用其参数,仅仅是区分用。可以理解为前置++后面有参数了,所以不需要参数
2、前置++需要返回引用,因为重载自加运算符后可以返回对象的引用, 以方便在表达式中连续使用。而后置++返回的不是引用,所以不能进行连续使用。
3.后置运算符返回的值是temp,需要注意。因为是后加。
实现代码如下:
#include
using namespace std;
class point{
public:
point(int a,int b):x(a),y(b){}
point& operator++(){//前置运算符,需要引用返回,不需要参数。返回自增后的值,且返回的是一个左值
x++;
y++;
return *this;
}
point operator++(int){//后置++,不需要引用返回,需要参数区分。返回自增前的值,且返回的是一个右值
point temp(x,y);
x++;
y++;
//cout<<"x1 = "< return temp; } voID show(){ cout<<"x = "< } private: int x; int y; }; int main(){ point p(2,3); p.show(); p++; p.show(); ++p; p.show(); return 0; } 运行结果如下: 以上是内存溢出为你收集整理的C++ 如何重载前置++和后置++运算符全部内容,希望文章能够帮你解决C++ 如何重载前置++和后置++运算符所遇到的程序开发问题。 如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)