Вопрос Операторы преобразования типов в c++

Регистрация
13 Авг 2013
Сообщения
70
Репутация
0
Спасибо
0
Монет
0
Я застрял на операторах. Если операторы арифметики мне уже понятны, то операторы преобразования нифига. Лафоре очень хреново эту тему объясняет, а на ютубе роликов нет.



Можете объяснить, что например, будет делать operator float()? operator int()? Нутром чую, работа с операторами преобразования бесполезна.
 
Разве в этом может быть что-то не понятно?
float() преобразует к вещественному числу
int() - к целому числу
Вот и всё...
И это на практике бывает нужно очень часто
 
#include
using namespace std;
class Integer {
int value;
public:
Integer() : value(0) {}
Integer(const int value) : value(value) {}
operator int() { return value; }
};
int main() {
Integer i = 5;
int n = i;
}
 
Нутром чую, работа с операторами преобразования бесполезнаНеправильно чуюте, преобразование нужно допустим у вас координаты во float а функция принимает int, тогда нужно преобразовывать из float в int, иначе компилятор скажет что это ошибка.
 
Эти функции будут вызываться в следующих случаях:

MyClass x;
float y;
int z;
y = (float) x;
z = (int) x;
 
Назад
Сверху