加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C++ 如何重载前置++和后置++运算符

发布时间:2020-12-15 04:52:42 所属栏目:百科 来源:网络整理
导读:注意一下几点:? 1、前置++重载时没有参数,而后置++重载时有参数。不会使用其参数,仅仅是区分用。可以理解为前置++后面有参数了,所以不需要参数? 2、前置++需要返回引用,因为重载自加运算符后可以返回对象的引用, 以方便在表达式中连续使用。而后置++返

注意一下几点:?


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;

}

运行结果如下:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读