gpt4 book ai didi

c++ - 前缀运算符重载

转载 作者:太空狗 更新时间:2023-10-29 23:47:05 26 4
gpt4 key购买 nike

我正在使用成员函数重载 ++ 前缀运算符。这是原型(prototype):

Test &operator++();

但是当我像下面这样将它用于我的对象时,我的疑问就来了:

Test t;
++t;

据我所知,对于由成员函数重载的任何运算符,应该在该运算符的左侧 上有同一个类的对象。但是当我调用这个 ++ 前缀重载运算符时,我不需要左侧的 Test 类的任何对象。

为什么?

最佳答案

Test& operator++();

始终是 C++ 标准的前缀运算符。

为了覆盖后缀运算符,您需要使用另一个签名:

Test& operator++(int);

编译器知道这些签名,它会正确地覆盖正确的运算符。

关于c++ - 前缀运算符重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7277394/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com