fork download
  1. #include <iostream>
  2.  
  3. struct A
  4. {
  5. A(int v=1): m(v) {}
  6. int m;
  7. };
  8.  
  9. struct B
  10. {
  11. B(): m(2) {}
  12. int m;
  13. };
  14.  
  15. struct C
  16. {
  17. C()
  18. {
  19. m = 3;
  20. }
  21. int m;
  22. };
  23.  
  24. struct D
  25. {
  26. int m = 11;
  27. };
  28.  
  29. int main()
  30. {
  31. using namespace std;
  32. #define TRACE(arg) cout << #arg ": " << arg.m << endl;
  33. A a1;
  34. TRACE(a1)
  35. A a2(4);
  36. TRACE(a2)
  37. B b;
  38. TRACE(b)
  39. b.m = 5;
  40. TRACE(b)
  41. C c;
  42. TRACE(c)
  43. c.m = 6;
  44. TRACE(c)
  45. D d;
  46. TRACE(d)
  47. d.m = 0;
  48. TRACE(d)
  49. #undef TRACE
  50. }
  51.  
Success #stdin #stdout 0s 15232KB
stdin
Standard input is empty
stdout
a1: 1
a2: 4
b: 2
b: 5
c: 3
c: 6
d: 11
d: 0