Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class A
- {
- public:
- virtual void taco()
- {
- cout << "Class A" << endl;
- }
- };
- class B: public A
- {
- public:
- virtual void taco()
- {
- cout << "Class B" << endl;
- }
- };
- class C : public A
- {
- public:
- void taco()
- {
- cout << "Class C" << endl;
- }
- };
- A a = A();
- B b = B();
- C c = C();
- a.taco(); //Class A
- b.taco(); //Class B
- c.taco(); //Class C
- deque<A> aa = deque<A>();
- aa.push_back(a);
- aa.push_back(b);
- aa.push_back(c);
- for(int i=0;i<aa.size();i++)
- aa[i].taco();//All Class A
- A r = B();
- r.taco(); //Class A
- A a;
- B b;
- C c;
- a.taco(); //Class A
- b.taco(); //Class B
- c.taco(); //Class C
- // With pointers and containers
- deque<A*> aa;
- aa.push_back(&a);
- aa.push_back(&b);
- aa.push_back(&c);
- for (int i=0; i<aa.size(); i++)
- aa[i]->taco(); // Hurray!
- // With refs
- B q;
- A& r = q;
- r.taco(); // Class B!
Add Comment
Please, Sign In to add comment