fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. struct Settings
  5. {
  6. private:
  7. struct GeneralSettings {
  8. int gi1, gi2;
  9. } static _gs;
  10. public:
  11. int i1, i2;
  12. GeneralSettings& gs;
  13. Settings(int i1, int i2) : i1(i1), i2(i2), gs(_gs) {}
  14.  
  15. void do_something() const {
  16. printf("%d %d %d %d\n", i1, i2, gs.gi1, gs.gi2);
  17. }
  18. };
  19.  
  20. Settings::GeneralSettings Settings::_gs;
  21.  
  22. int main()
  23. {
  24. Settings s1(0,1);
  25. Settings s2(1,0);
  26.  
  27. s1.gs.gi1 = 1;
  28. s2.gs.gi2 = 1;
  29.  
  30. s2.do_something();
  31. }
Success #stdin #stdout 0s 3456KB
stdin
Standard input is empty
stdout
1 0 1 1