fork download
  1.  
  2. #include <iostream>
  3. class Base {
  4. public:
  5. virtual void who() {
  6. std::cout << "Base\n";
  7. }
  8. };
  9.  
  10. class FirstD: public Base {
  11. public:
  12. void who() {
  13. std::cout << "First derivation\n";
  14. }
  15. };
  16.  
  17. class SecondD: public Base {
  18. // who() не визначена
  19. };
  20.  
  21. int main() {
  22. Base baseObj;
  23. Base *p;
  24. FirstD firstObj;
  25. SecondD secondObj;
  26.  
  27. p = &baseObj;
  28. p->who(); // доступ до who класу Base
  29. p = &firstObj;
  30. p->who(); // доступ до who класу FirstD
  31. p = &secondObj;
  32. p->who(); /* доступ до who() класу Base, оскільки SecondD не перевизначає */
  33. return 0;
  34. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
Base
First derivation
Base