Перегрузка бинарной операции

  • Автор темы zzz
  • Дата начала
Статус
Закрыто для дальнейших ответов.
Z
#1
Как перегрузить бинарную операцию ? Например пишу так :
complx operator * (complx,complx) - говорит можно указать только один параметр
Помогите плиз ...
 

grigsoft

Well-known member
15.11.2005
735
0
#2
Если ты определяешь его как член класса, то должен быть 1 параметр - вторым будет сам объект. С двумя параметрами определяется функция не-член класса.
 
C

Creo

#3
Если поподробней, то
Код:
class A {
int i;
i operator*(i) {return (this->i*i);}
};
//or 
// i operator*(i,j) {return (i*j);}
Используй или тот или другой вариант. Если i закрытая ф-ция член. А ты хотел бы чтоб в качестве параметров она получала два оператора, объяви ее другом. И еще насколько я понял в качестве параметров ты передаешь в ф-цию класс. Тогда делай это при помощи константных ссылок, так быстрее ;)
Код:
cmplx& operator*(const cmplx&, const cmplx&)
 
Статус
Закрыто для дальнейших ответов.