Условие:
Bonpoc:
Ниже приведен код на Python.
class Vector:
def init(self, x, y):
self.x = x
self.y = y
def add(self, other):
if isinstance(other, Vector):
return Vector(self.x + other.x, self.y + other.y)
return NotImplemented
def repr(self):
return f"Vector({self.x}, {self.y})"
v1 = Vector(1, 2)
v2 = Vector(3, 4)
result = v1 + v2
print(result)
Что произойдет при перегрузке оператора + для класса Vector в следующем коде?
Tun omsema: Одиночный выбор • с выбором одного правильного ответа из нескольких предложенных вариантов
Программа выведет:
Vector (4,6)
Программа выведет:
Vector(1, 2) + Vector(3, 4)
Программа выдаст ошибку, так как нельзя перегрузить оператор + для пользовательских классов.
Программа выдаст ошибку из-за отсутствия метода _repr_.
Решение:
Рассмотрим подробно работу программы: 1. Определён класс Vector с двумя атрибутами: x и y. В конструкторе (init) значения атрибутов задаются в момент создания объекта. 2. Для класса перегружается оператор + с помощью метода add. В этом ...
