如何从派生类修改父类的变量?

时间:2013-09-11 17:38:53

标签: c++ inheritance polymorphism parent

我很确定我知道为什么这不起作用,但我该如何使这项工作? 好的,我有一个父类,它有一堆虚函数和一个非虚函数

前:

class Parent
{
private: 
    int variable;
public:
    virtual void firstfunction(); 
    virtual void secondfunction(); 
    void nonvirtualfunction();
};

Parent::nonvirtualfunction()
{
    variable = 5;
}

我有一个继承自父类的子类

class Child : public Parent
{
    void firstfunction();
    void secondfunction();
}

Child::secondfunction()
{
    Parent::nonvirtualfunction();
}

当我在子类中调用非虚函数时,它不会更改父类中的值。我该怎么做才能在子类中更改父类的变量?

1 个答案:

答案 0 :(得分:3)

您的示例代码确实有效:http://ideone.com/zRvp93

您的示例中唯一的主要问题是Child的成员函数是私有的,Parent::nonvirtualfunctionChild::secondfunction缺少其返回类型。