fork download
  1.  
  2. #include <iostream>
  3. #include <typeinfo>
  4.  
  5. class Bird
  6. {
  7. public:
  8. virtual ~Bird() {}
  9. virtual int chirp() { return 0; }
  10. };
  11.  
  12. class SomeOtherBird : public Bird
  13. {
  14. public:
  15. virtual int chirp() { return 1; }
  16. };
  17.  
  18. void nest( Bird& x )
  19. {
  20. std::cout << typeid(x).name() << " says " << x.chirp() << '\n';
  21. }
  22.  
  23. int main()
  24. {
  25. SomeOtherBird s;
  26. nest( s );
  27.  
  28. Bird b;
  29. nest( b );
  30. }
Success #stdin #stdout 0s 2724KB
stdin
Standard input is empty
stdout
13SomeOtherBird says 1
4Bird says 0