class smallDOUBLE;
class smallINT
{
private:
int val;
public:
smallINT() :val(0){}
smallINT(int i) :val(i){}
operator smallDOUBLE();
};
class smallDOUBLE
{
private:
double val;
public:
smallDOUBLE() :val(0){}
smallDOUBLE(double i) :val(i){}
operator smallINT() { return val; }
};
smallINT::operator smallDOUBLE() { return val; }
int main()
{
smallINT int1(10);
smallDOUBLE DBL1(123.22);
smallINT int2 = DBL1;
smallDOUBLE DBL2 = int1;
}
Y2xhc3Mgc21hbGxET1VCTEU7CgpjbGFzcyBzbWFsbElOVAp7CnByaXZhdGU6CiAgICBpbnQgdmFsOwpwdWJsaWM6CglzbWFsbElOVCgpIDp2YWwoMCl7fQoJc21hbGxJTlQoaW50IGkpIDp2YWwoaSl7fQoJb3BlcmF0b3Igc21hbGxET1VCTEUoKTsKfTsKCmNsYXNzIHNtYWxsRE9VQkxFCnsKcHJpdmF0ZToKCWRvdWJsZSB2YWw7CnB1YmxpYzoKCXNtYWxsRE9VQkxFKCkgOnZhbCgwKXt9CglzbWFsbERPVUJMRShkb3VibGUgaSkgOnZhbChpKXt9CglvcGVyYXRvciBzbWFsbElOVCgpIHsgcmV0dXJuIHZhbDsgfQp9OwoKc21hbGxJTlQ6Om9wZXJhdG9yIHNtYWxsRE9VQkxFKCkgeyByZXR1cm4gdmFsOyB9CgppbnQgbWFpbigpCnsKCXNtYWxsSU5UIGludDEoMTApOwoJc21hbGxET1VCTEUgREJMMSgxMjMuMjIpOwoJc21hbGxJTlQgaW50MiA9IERCTDE7CglzbWFsbERPVUJMRSBEQkwyID0gaW50MTsKfQ==