Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 17, 2010 14:32:00

Eliont
От:
Зарегистрирован: 2010-05-30
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

Перегрузка операторов

А можно как-нибудь организовать наподобие того что C++ ?
Рабочие функции перегрузки из моей проги на плюсах:

		bool operator== (const Array &a)
{for (int i=0;i<arsize;i++)
{if (arr[i]!=a.arr[i]) {return false;}}
return true;}

bool operator!= (const Array &a)
{for (int i=0;i<arsize;i++)
{if (arr[i]==a.arr[i]) {return false;}}
return true;}

int& operator[] (int index)
{return arr[index];}

Array& operator = (const Array &a){
arsize = a.arsize;
delete arr;
arr = new int[arsize];
set(a);}



Офлайн

#2 Сен. 17, 2010 15:31:27

AterCattus
От:
Зарегистрирован: 2010-09-16
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Перегрузка операторов

object.__eq__(self, other)
<your code>

x==y будет работать как x.__eq__(y)

полный список методов можно найти в гугле, если нет под рукой нормального справочника.



Отредактировано (Сен. 17, 2010 15:31:46)

Офлайн

#3 Сен. 18, 2010 05:40:43

Eliont
От:
Зарегистрирован: 2010-05-30
Сообщения: 77
Репутация: +  0  -
Профиль   Отправить e-mail  

Перегрузка операторов

Спасибо. Запустил поис к по строке “python __eq__ ” и наткнулся на эту статью.
То, что надо.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version