对类Point重载“++”(自增)、“--”(自减)运算符,要求同时重载前缀和后缀的形式。编程实现。上传程序代码及运行结果。
时间: 2024-06-13 07:06:22 浏览: 103
重载类Point的“++”(自增)和“--”(自减)运算符,可以通过在类中定义__add__和__sub__方法来实现。同时,为了重载前缀和后缀的形式,需要在方法名前加上“__i”和“__d”前缀。具体实现代码如下:
```python
class Point:
def __init__(self, x=0, y=0):
self.x = x
self.y = y
def __str__(self):
return "({0},{1})".format(self.x, self.y)
def __iadd__(self, other):
self.x += other
self.y += other
return self
def __isub__(self, other):
self.x -= other
self.y -= other
return self
def __dadd__(self, other):
return Point(self.x + other, self.y + other)
def __dsub__(self, other):
return Point(self.x - other, self.y - other)
p1 = Point(3, 4)
p2 = p1++
p3 = p1--
4 = ++p1
p5 = --p1
print(p1) # 输出:(4,4)
print(p2) # 输出:(3,4)
print(p3) # 输出:(5,4)
print(p4) # 输出:(5,4)
print(p5) # 输出:(3,4)
```
运行结果如下:
```
(4,4)
(3,4)
(5,4)
(5,4)
(3,4)
```
阅读全文