fork download
  1. class A {
  2. public:
  3. class B {public: bool value;};
  4.  
  5. A() {}
  6. B b_;
  7. void DoStuff(B& b);
  8. private:
  9. virtual void DoStuffImpl(B& b) = 0;
  10. };
  11.  
  12. class X : public A {
  13. public:
  14. X() {}
  15. void Trigger();
  16. private:
  17. virtual void DoStuffImpl(B& b);
  18. };
  19.  
  20. void A::DoStuff(B& b) {
  21. DoStuffImpl(b);
  22. }
  23.  
  24. void X::Trigger() {
  25. DoStuff(b_);
  26. }
  27. void X::DoStuffImpl(B& b) {
  28. b.value = true;
  29. }
  30.  
  31. int main(){
  32. X x;
  33. x.Trigger();
  34. //return x.b_.value;
  35. return 0;
  36. }
Success #stdin #stdout 0.01s 2720KB
stdin
Standard input is empty
stdout
Standard output is empty