酷代码 AI
菜单
服务商

Python 复数类 Complex:前置与后置自增运算符重载全解析

```python class Complex: def __init__(self, real, imag): # 初始化复数的实部和虚部 self.real = real self.imag = imag def __str__(self): # 重写 __str__ 方法,方便打印复数 return f"({self.real}+{self.imag}j)" def __pos__(self): # 前置自增运算符重载 self.real += 1 self.imag += 1 return self def __add__(self, other): # 后置自增运算符重载 if other == 1: result = Complex(self.real, self.imag) self.real += 1 self.imag += 1 return result return NotImplemented # 读取输入 real, imag = map(int, input().split()) # 创建复数对象 c = Complex(real, imag) # 前置自增 print(+c) # 后置自增 print(c + 1) print(c) ``` 额外需要注意的逻辑点 1. 在重载后置自增运算符时,需要先保存原复数对象的值,再对当前对象进行自增操作,最后返回原对象的值。 2. 要注意前置自增和后置自增运算符的返回值不同,前置自增返回自增后的对象,后置自增返回自增前的对象。 3. 对于运算符重载,要确保在不满足操作条件时返回 `NotImplemented`,以避免不必要的错误。 ######[AI写代码神器 | 357点数解答 | 2025-06-06 17:22:02]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]