| class myInt { | |
| private: int theValue; | |
| public: myInt() : theValue(0) {} | |
| public: myInt(int _x) : theValue(_x) {} | |
| int val() { return theValue; } | |
| }; | |
| class myIntAndStuff { | |
| private: | |
| int theValue; | |
| double theExtraFluff; | |
| public: | |
| myIntAndStuff() : theValue(0), theExtraFluff(1.25) {} | |
| myIntAndStuff(int _x) : theValue(_x), theExtraFluff(1.25) {} | |
| int val() { return theValue; } | |
| }; | |
| class myArray { | |
| public: | |
| int array[16]; | |
| }; | |
| class hasAnInt { | |
| public: | |
| myInt theInt; | |
| hasAnInt() : theInt(42) {} | |
| }; | |
| myInt operator + (myInt x, myInt y) { return myInt(x.val() + y.val()); } | |
| myInt operator + (myInt x, myIntAndStuff y) { return myInt(x.val() + y.val()); } | |
| int main() { | |
| myInt x{3}; | |
| myInt y{4}; | |
| myInt z {x+y}; | |
| myIntAndStuff q {z.val()+1}; | |
| hasAnInt hi; | |
| myArray ma; | |
| return z.val(); // break here | |
| } |