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