fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class A {
  5. public:
  6. virtual void foo() {
  7. cout << "A::foo()" << endl;
  8. }
  9. };
  10.  
  11. class B : public A {
  12. public:
  13. void foo() override {
  14. cout << "B::foo()" << endl;
  15. }
  16. };
  17.  
  18. class C : public B {
  19. public:
  20. void foo() override {
  21. cout << "C::foo()" << endl;
  22. }
  23. };
  24.  
  25. int main() {
  26. A* ptr = new A;
  27. ptr->foo();
  28. ptr = new B;
  29. ptr->foo();
  30. ptr = new C;
  31. ptr->foo();
  32.  
  33. return 0;
  34. }
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
A::foo()
B::foo()
C::foo()