fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class X
  5. {
  6. private:
  7. virtual void internalCall()
  8. {
  9. cout << "Class X" << endl;
  10. }
  11. public:
  12. X()
  13. {
  14. internalCall();
  15. }
  16. void externalCall()
  17. {
  18. internalCall();
  19. }
  20. };
  21.  
  22. class Y : public X
  23. {
  24. protected:
  25. virtual void internalCall2()
  26. {
  27. cout << "Class Y2" << endl;
  28. }
  29. virtual void internalCall()
  30. {
  31. cout << "Class Y" << endl;
  32. internalCall2();
  33. }
  34. public:
  35. Y() : X() {}
  36.  
  37. };
  38.  
  39. int main()
  40. {
  41. Y y;
  42.  
  43. y.externalCall();
  44.  
  45. return 0;
  46. }
Success #stdin #stdout 0s 3340KB
stdin
Standard input is empty
stdout
Class X
Class Y
Class Y2