酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

任务描述 本关任务:定义一个复数类Complex,重载前置自增“++”运算符及后置自增“++”运算符,使之能用于复数的自增运算。 注:复数的自增是让复数的实部和虚部同时增加1. 相关知识 为了完成本关任务,你需要掌握:1.单目运算符的重载。 编程要求 根据提示,在右侧编辑器补充代码,输入复数的实部和虚部,完成自增计算并输出计算结果

```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`,以避免不必要的错误。 [2025-06-06 17:22:02 | AI写代码神器 | 357点数解答]

相关提问