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