Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- struct Widget {
- virtual void inflate();
- }
- struct Label : public Widget {
- void inflate();
- }
- void Label::inflate(){
- std::cout << "Child function called" << std::endl;
- }
- void Widget::inflate(){
- std::cout << "Parent function called" << std::endl;
- }
- std::vector<Widget*> widgets = std::vector<Widget*>();
- Label1 = Label();
- Label2 = Label();
- widgets.push_back(Label1);
- widgets.push_back(Label2);
- int i = 0;
- while(i < widgets.size()){
- widgets[i]->inflate();
- i++;
- }
- Parent function called
- Parent function called
- #include <iostream>
- #include <vector>
- struct Widget {
- virtual void inflate();
- };
- struct Label : public Widget {
- void inflate();
- };
- void Label::inflate(){
- std::cout << "Child function called" << std::endl;
- }
- void Widget::inflate(){
- std::cout << "Parent function called" << std::endl;
- }
- int main()
- {
- std::vector<Widget*> widgets = std::vector<Widget*>();
- Label Label1;
- Label Label2;
- widgets.push_back(&Label1);
- widgets.push_back(&Label2);
- int i = 0;
- while(i < widgets.size()){
- widgets[i]->inflate();
- i++;
- }
- }
Add Comment
Please, Sign In to add comment