1*99451b44SJordan Rupprecht class myInt { 2*99451b44SJordan Rupprecht private: int theValue; myInt()3*99451b44SJordan Rupprecht public: myInt() : theValue(0) {} myInt(int _x)4*99451b44SJordan Rupprecht public: myInt(int _x) : theValue(_x) {} val()5*99451b44SJordan Rupprecht int val() { return theValue; } 6*99451b44SJordan Rupprecht }; 7*99451b44SJordan Rupprecht 8*99451b44SJordan Rupprecht class myIntAndStuff { 9*99451b44SJordan Rupprecht private: 10*99451b44SJordan Rupprecht int theValue; 11*99451b44SJordan Rupprecht double theExtraFluff; 12*99451b44SJordan Rupprecht public: myIntAndStuff()13*99451b44SJordan Rupprecht myIntAndStuff() : theValue(0), theExtraFluff(1.25) {} myIntAndStuff(int _x)14*99451b44SJordan Rupprecht myIntAndStuff(int _x) : theValue(_x), theExtraFluff(1.25) {} val()15*99451b44SJordan Rupprecht int val() { return theValue; } 16*99451b44SJordan Rupprecht }; 17*99451b44SJordan Rupprecht 18*99451b44SJordan Rupprecht class myArray { 19*99451b44SJordan Rupprecht public: 20*99451b44SJordan Rupprecht int array[16]; 21*99451b44SJordan Rupprecht }; 22*99451b44SJordan Rupprecht 23*99451b44SJordan Rupprecht class hasAnInt { 24*99451b44SJordan Rupprecht public: 25*99451b44SJordan Rupprecht myInt theInt; hasAnInt()26*99451b44SJordan Rupprecht hasAnInt() : theInt(42) {} 27*99451b44SJordan Rupprecht }; 28*99451b44SJordan Rupprecht operator +(myInt x,myInt y)29*99451b44SJordan RupprechtmyInt operator + (myInt x, myInt y) { return myInt(x.val() + y.val()); } operator +(myInt x,myIntAndStuff y)30*99451b44SJordan RupprechtmyInt operator + (myInt x, myIntAndStuff y) { return myInt(x.val() + y.val()); } 31*99451b44SJordan Rupprecht main()32*99451b44SJordan Rupprechtint main() { 33*99451b44SJordan Rupprecht myInt x{3}; 34*99451b44SJordan Rupprecht myInt y{4}; 35*99451b44SJordan Rupprecht myInt z {x+y}; 36*99451b44SJordan Rupprecht myIntAndStuff q {z.val()+1}; 37*99451b44SJordan Rupprecht hasAnInt hi; 38*99451b44SJordan Rupprecht myArray ma; 39*99451b44SJordan Rupprecht 40*99451b44SJordan Rupprecht return z.val(); // break here 41*99451b44SJordan Rupprecht } 42