Guest User

Untitled

a guest
Jul 16th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. class A
  2. {
  3. public:
  4. virtual void taco()
  5. {
  6. cout << "Class A" << endl;
  7. }
  8. };
  9. class B: public A
  10. {
  11. public:
  12. virtual void taco()
  13. {
  14. cout << "Class B" << endl;
  15. }
  16. };
  17. class C : public A
  18. {
  19. public:
  20. void taco()
  21. {
  22. cout << "Class C" << endl;
  23. }
  24. };
  25.  
  26. A a = A();
  27. B b = B();
  28. C c = C();
  29. a.taco(); //Class A
  30. b.taco(); //Class B
  31. c.taco(); //Class C
  32. deque<A> aa = deque<A>();
  33. aa.push_back(a);
  34. aa.push_back(b);
  35. aa.push_back(c);
  36. for(int i=0;i<aa.size();i++)
  37. aa[i].taco();//All Class A
  38. A r = B();
  39. r.taco(); //Class A
  40.  
  41. A a;
  42. B b;
  43. C c;
  44. a.taco(); //Class A
  45. b.taco(); //Class B
  46. c.taco(); //Class C
  47.  
  48. // With pointers and containers
  49. deque<A*> aa;
  50. aa.push_back(&a);
  51. aa.push_back(&b);
  52. aa.push_back(&c);
  53. for (int i=0; i<aa.size(); i++)
  54. aa[i]->taco(); // Hurray!
  55.  
  56. // With refs
  57. B q;
  58. A& r = q;
  59. r.taco(); // Class B!
Add Comment
Please, Sign In to add comment