fork download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. struct Widget {
  5. virtual void inflate();
  6. };
  7.  
  8. struct Label : public Widget {
  9. void inflate();
  10. };
  11.  
  12. void Label::inflate(){
  13. std::cout << "Child function called" << std::endl;
  14. }
  15.  
  16. void Widget::inflate(){
  17. std::cout << "Parent function called" << std::endl;
  18. }
  19.  
  20. int main()
  21. {
  22. std::vector<Widget*> widgets = std::vector<Widget*>();
  23. Label Label1;
  24. Label Label2;
  25. widgets.push_back(&Label1);
  26. widgets.push_back(&Label2);
  27. int i = 0;
  28. while(i < widgets.size()){
  29. widgets[i]->inflate();
  30. i++;
  31. }
  32. }
  33.  
Success #stdin #stdout 0s 4416KB
stdin
Standard input is empty
stdout
Child function called
Child function called