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