Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct A
- {
- virtual ~A() = default; // required
- virtual void a() { cout << "AA"; }
- virtual void b() { cout << "AB"; }
- virtual void c() { cout << "AC"; }
- };
- struct B : public A
- {
- void a() { cout << "BA"; }
- void b() { cout << "BB"; }
- void c() { cout << "BC"; }
- };
- struct C : public A
- {
- void a() override { cout << "CA"; }
- void b() override { cout << "CB"; }
- void c() override { cout << "CC"; }
- };
- int main()
- {
- A *a = new A();
- a->a();
- a->b();
- a->c();
- cout << endl;
- delete a;
- A *b = new B();
- b->a();
- b->b();
- b->c();
- cout << endl;
- delete b;
- A *c = new C();
- c->a();
- c->b();
- c->c();
- cout << endl;
- delete c;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement