我正在使用成员函数重载 ++
前缀运算符。这是原型(prototype):
Test &operator++();
但是当我像下面这样将它用于我的对象时,我的疑问就来了:
Test t;
++t;
据我所知,对于由成员函数重载的任何运算符,应该在该运算符的左侧 上有同一个类的对象。但是当我调用这个 ++
前缀重载运算符时,我不需要左侧的 Test
类的任何对象。
为什么?
最佳答案
Test& operator++();
始终是 C++ 标准的前缀运算符。
为了覆盖后缀运算符,您需要使用另一个签名:
Test& operator++(int);
编译器知道这些签名,它会正确地覆盖正确的运算符。
关于c++ - 前缀运算符重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7277394/