Как написать оператор преобразования

Рейтинг: 2Ответов: 1Опубликовано: 03.06.2011

Есть какой то класс, например, класс комплексных чисел. Как для него должен выглядеть оператор преобразования ? например в int.

Ответы

▲ 4Принят

Нужно в определении класса добавить строчки подобные следуюшим:

class complex{
public:
operator int()      { return 1; } // оператор преобразования к int
...
}

// теперь мы можем сделать так:
complex cmp;
int a = (int)cmp; // присвоит переменной a значение 1

Если же Вам нужен конструктор объектов класса комплексных чисел из int, то это другой вопрос.