1 class myInt {
2     private: int theValue;
myInt()3     public: myInt() : theValue(0) {}
myInt(int _x)4     public: myInt(int _x) : theValue(_x) {}
val()5     int val() { return theValue; }
6 };
7 
8 class myArray {
9 public:
10     int array[16];
11 };
12 
13 class hasAnInt {
14     public:
15         myInt theInt;
hasAnInt()16         hasAnInt() : theInt(42) {}
17 };
18 
operator +(myInt x,myInt y)19 myInt operator + (myInt x, myInt y) { return myInt(x.val() + y.val()); }
20 
main()21 int main() {
22     myInt x{3};
23     myInt y{4};
24     myInt z {x+y};
25     hasAnInt hi;
26     myArray ma;
27 
28     return z.val(); // break here
29 }
30