ОБСУЖДЕНИЕ

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

2 ответов 4,3 тыс.
Статус
Закрыто для дальнейших ответов.
Автор темы
Как перегрузить бинарную операцию ? Например пишу так :
complx operator * (complx,complx) - говорит можно указать только один параметр
Помогите плиз ...
 
Если ты определяешь его как член класса, то должен быть 1 параметр - вторым будет сам объект. С двумя параметрами определяется функция не-член класса.
 
Если поподробней, то
Код:
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&)
 
Статус
Закрыто для дальнейших ответов.