Здравствуйте, 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
}
Удалено избыточное цитирование. Исправлена подсветка синтаксиса. -- ПК