Advertisement
Guest User

Untitled

a guest
Feb 28th, 2020
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.81 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct A
  6. {
  7.     virtual ~A() = default; // required
  8.     virtual void a() { cout << "AA"; }
  9.     virtual void b() { cout << "AB"; }
  10.     virtual void c() { cout << "AC"; }
  11. };
  12.  
  13. struct B : public A
  14. {
  15.     void a() { cout << "BA"; }
  16.     void b() { cout << "BB"; }
  17.     void c() { cout << "BC"; }
  18. };
  19.  
  20. struct C : public A
  21. {
  22.     void a() override { cout << "CA"; }
  23.     void b() override { cout << "CB"; }
  24.     void c() override { cout << "CC"; }
  25. };
  26.  
  27. int main()
  28. {
  29.     A *a = new A();
  30.     a->a();
  31.     a->b();
  32.     a->c();
  33.     cout << endl;
  34.     delete a;
  35.  
  36.     A *b = new B();
  37.     b->a();
  38.     b->b();
  39.     b->c();
  40.     cout << endl;
  41.     delete b;
  42.  
  43.     A *c = new C();
  44.     c->a();
  45.     c->b();
  46.     c->c();
  47.     cout << endl;
  48.     delete c;
  49.  
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement