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

  • Автор темы zzz
  • Дата начала
Статус
Закрыто для дальнейших ответов.
Z

zzz

Как перегрузить бинарную операцию ? Например пишу так :
complx operator * (complx,complx) - говорит можно указать только один параметр
Помогите плиз ...
 
G

grigsoft

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

Creo

Если поподробней, то
Код:
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&)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!