#include <iostream>
class Parent
{
private:
int variable;
public:
virtual void firstfunction();
virtual void secondfunction();
void nonvirtualfunction();
void print_variable()
{
std::cout << variable << std::endl;
}
};
void Parent::nonvirtualfunction()
{
variable = 5;
}
class Child : public Parent
{
public:
void firstfunction();
void secondfunction();
};
void Child::secondfunction()
{
Parent::nonvirtualfunction();
}
int main()
{
Child c;
c.secondfunction();
c.print_variable();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgUGFyZW50CnsKcHJpdmF0ZTogCiAgICBpbnQgdmFyaWFibGU7CnB1YmxpYzoKICAgIHZpcnR1YWwgdm9pZCBmaXJzdGZ1bmN0aW9uKCk7IAogICAgdmlydHVhbCB2b2lkIHNlY29uZGZ1bmN0aW9uKCk7IAogICAgdm9pZCBub252aXJ0dWFsZnVuY3Rpb24oKTsKICAgIAogICAgdm9pZCBwcmludF92YXJpYWJsZSgpCiAgICB7CiAgICAJc3RkOjpjb3V0IDw8IHZhcmlhYmxlIDw8IHN0ZDo6ZW5kbDsKICAgIH0KfTsKCnZvaWQgUGFyZW50Ojpub252aXJ0dWFsZnVuY3Rpb24oKQp7CiAgICB2YXJpYWJsZSA9IDU7Cn0KCmNsYXNzIENoaWxkIDogcHVibGljIFBhcmVudAp7CnB1YmxpYzoKICAgIHZvaWQgZmlyc3RmdW5jdGlvbigpOwogICAgdm9pZCBzZWNvbmRmdW5jdGlvbigpOwp9OwoKdm9pZCBDaGlsZDo6c2Vjb25kZnVuY3Rpb24oKQp7CiAgICBQYXJlbnQ6Om5vbnZpcnR1YWxmdW5jdGlvbigpOwp9CgppbnQgbWFpbigpCnsKCUNoaWxkIGM7CgljLnNlY29uZGZ1bmN0aW9uKCk7CgljLnByaW50X3ZhcmlhYmxlKCk7Cn0=