Re: Перегрузка операторов
От: UltraCpp Ниоткуда ultra-cpp.narod.ru
Дата: 04.05.03 12:06
Оценка:
Здравствуйте, Octane, Вы писали:

O>
O>    z=z+1;/* все работает */
O>    z=3+z;/* Нет такого глобального оператора или нет соответствующей заданным операторам конверсии*/
O>


O>1)как описать оператор сложения TYPE и Complex ?(TYPE — левый операнд)

O>2)как описать конверсию от типа TYPE к типу Complex?
Просто, при помощи дружественных функций. Вот тебе пример.
class Complex
{
   friend Complex operator+(int fst, const Complex &Snd);
private:
    ...
public:
    ...
    Complex operator+(Complex &other){...}
    Complex operator+(const double &other){...}
        ...
};

Complex operator+(int fst, const Complex &Snd)
{
  // тут пиши что хочешь, но не забудь вернуть объект типа Complex
}


Удалено избыточное цитирование. Исправлена подсветка синтаксиса. -- ПК
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.