fork download
  1. class Encapsulator
  2. {
  3. protected:
  4. int i;
  5. public:
  6. Encapsulator(int v) : i(v) {}
  7. };
  8.  
  9. Encapsulator f(int x) { return x + 2; }
  10.  
  11. #include <iostream>
  12. int main(void)
  13. {
  14. Encapsulator e = f(7);
  15. // forbidden: std::cout << e.i << std::endl;
  16. int Encapsulator::*pi = &Encapsulator::i;
  17. std::cout << e.*pi << std::endl;
  18. }
  19.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:4:9: error: ‘int Encapsulator::i’ is protected
prog.cpp:16:44: error: within this context
prog.cpp:4:9: error: ‘int Encapsulator::i’ is protected
prog.cpp:16:44: error: within this context
stdout
Standard output is empty