Witam,
mam sobie klasę extLong, która zajmuje się przechowywaniem dużych liczb w postaci stringów:
class extLong
{
public:
string str; // przechowywana liczba w postaci stringa
//...
};
oraz przeładowałem sobie operator= dla long longów:
extLong extLong::operator=(long long b)
{
str = itoa(b);
return *this;
}
gdzie
itoa()
jest funkcją konwertującą nam long longi na stringi
Mogę dzięki temu wykonać taką operację przypisania:
extLong a;
a = 23;
ale nie mogę już zrobić tego przy deklaracji zmiennej:
extLong a = 23;
otrzymuję błąd:
[Error] conversion from 'int' to non-scalar type 'extLong' requested
W jaki sposób mam przeładować operator=, aby taka operacja była możliwa ?