1a5925a05a65be0d36baa709323285214b7e8059
[openbsd] /
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 }