在具体调用前置后后置的重载操作符成员方法时候, 编译器如何准确的区分调用这两个中的一个

来源:8-6 前置与后置操作符

慕勒6203115

2020-08-14

毕竟不看内部函数具体代码操作,看成员名除了返回值的类型不一样,operator后接的都是++。

主函数调用:
complex f;
f = d++; //调用2方法
f = ++d; //调用1方法
//1.前置++
complex& complex::operator++()
{
this->real++;
this->imagin++;
return (*this);
}
//2.后置++
complex complex::operator++(int)
{
return complex(real++,imagin++);
}

写回答

1回答

quickzhao

2020-08-14

编译器如何区分?你不是定义的形式就不一样吗:一个++(),一个++(int); 这个不就能区分吗。

0
2
quickzhao
回复
部分逆和
++在变量之前是前置,在变量之后是后置;这是语法规范规定的。
2020-09-30
共2条回复

重学C++ ,重构你的C++知识体系

一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维

3884 学习 · 1103 问题

查看课程