fork download
  1. #include <iostream>
  2.  
  3. class Animal
  4. {
  5. public:
  6. virtual ~Animal() {};
  7.  
  8. virtual void doSmth() = 0;
  9. };
  10.  
  11. class Cat : public Animal
  12. {
  13. public:
  14. void doSmth() override
  15. {
  16. std::cout << "Miau" << std::endl;
  17. }
  18. };
  19.  
  20. class Dog : public Animal
  21. {
  22. public:
  23. void doSmth() override
  24. {
  25. std::cout << "Wuff" << std::endl;
  26. }
  27. };
  28.  
  29. int main()
  30. {
  31. Dog dog;
  32. Cat cat;
  33.  
  34. Animal *animal = &dog;
  35. animal->doSmth();
  36.  
  37. animal = &cat;
  38. animal->doSmth();
  39.  
  40. return 0;
  41. }
  42.  
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
Wuff
Miau