Guest User

Untitled

a guest
May 20th, 2018
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. struct Widget {
  2. virtual void inflate();
  3. }
  4.  
  5. struct Label : public Widget {
  6. void inflate();
  7. }
  8.  
  9. void Label::inflate(){
  10. std::cout << "Child function called" << std::endl;
  11. }
  12.  
  13. void Widget::inflate(){
  14. std::cout << "Parent function called" << std::endl;
  15. }
  16.  
  17. std::vector<Widget*> widgets = std::vector<Widget*>();
  18. Label1 = Label();
  19. Label2 = Label();
  20. widgets.push_back(Label1);
  21. widgets.push_back(Label2);
  22. int i = 0;
  23. while(i < widgets.size()){
  24. widgets[i]->inflate();
  25. i++;
  26. }
  27.  
  28. Parent function called
  29. Parent function called
  30.  
  31. #include <iostream>
  32. #include <vector>
  33.  
  34. struct Widget {
  35. virtual void inflate();
  36. };
  37.  
  38. struct Label : public Widget {
  39. void inflate();
  40. };
  41.  
  42. void Label::inflate(){
  43. std::cout << "Child function called" << std::endl;
  44. }
  45.  
  46. void Widget::inflate(){
  47. std::cout << "Parent function called" << std::endl;
  48. }
  49.  
  50. int main()
  51. {
  52. std::vector<Widget*> widgets = std::vector<Widget*>();
  53. Label Label1;
  54. Label Label2;
  55. widgets.push_back(&Label1);
  56. widgets.push_back(&Label2);
  57. int i = 0;
  58. while(i < widgets.size()){
  59. widgets[i]->inflate();
  60. i++;
  61. }
  62. }
Add Comment
Please, Sign In to add comment