-2

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

前任:

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();
}

当我在子类中调用 nonvirtualfunction 时,它不会更改父类中的值。我如何做到这一点,以便我可以更改子类中父类的变量?

4

1 回答 1

3

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

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

于 2013-09-11T17:53:39.297 回答