fork download
  1. #include <iostream>
  2.  
  3. class A {
  4. public:
  5. virtual int a1() = 0;
  6. int a2() {
  7. return a3();
  8. }
  9. protected:
  10. int a3() {
  11. return a1();
  12. }
  13. };
  14.  
  15. class B : public A {
  16. public:
  17. virtual int a1() {
  18. return 1;
  19. }
  20. };
  21.  
  22. int main() {
  23. B b_obj;
  24. int value1 = b_obj.a2(); // This fails for OP.
  25. std::cout << value1 << std::endl;
  26. return 0;
  27. }
Success #stdin #stdout 0s 3340KB
stdin
Standard input is empty
stdout
1