fork download
  1. class smallDOUBLE;
  2.  
  3. class smallINT
  4. {
  5. private:
  6. int val;
  7. public:
  8. smallINT() :val(0){}
  9. smallINT(int i) :val(i){}
  10. operator smallDOUBLE();
  11. };
  12.  
  13. class smallDOUBLE
  14. {
  15. private:
  16. double val;
  17. public:
  18. smallDOUBLE() :val(0){}
  19. smallDOUBLE(double i) :val(i){}
  20. operator smallINT() { return val; }
  21. };
  22.  
  23. smallINT::operator smallDOUBLE() { return val; }
  24.  
  25. int main()
  26. {
  27. smallINT int1(10);
  28. smallDOUBLE DBL1(123.22);
  29. smallINT int2 = DBL1;
  30. smallDOUBLE DBL2 = int1;
  31. }
Success #stdin #stdout 0s 3292KB
stdin
Standard input is empty
stdout
Standard output is empty