Пожалуйста, помогите мне понять, как работают операторы преобразования на С++. У меня есть простой пример, который я пытаюсь понять, хотя не совсем понятно, как конверсия происходит на самом деле компилятором.
class Example{
public:
Example();
Example(int val);
operator unsigned int();
~Example(){}
private:
int itsVal;
};
Example::Example():itsVal(0){}
Example::Example(int val):itsVal(val){}
Example::operator unsigned int (){
return (itsVal);
}
int main(){
int theInt = 5;
Example exObject = theInt; // here
Example ctr(5);
int theInt1 = ctr; // here
return 0;
}