我很确定我知道为什么这不起作用,但我该如何使这项工作? 好的,我有一个父类,它有一堆虚函数和一个非虚函数
前:
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();
}
当我在子类中调用非虚函数时,它不会更改父类中的值。我该怎么做才能在子类中更改父类的变量?
答案 0 :(得分:3)
您的示例代码确实有效:http://ideone.com/zRvp93
您的示例中唯一的主要问题是Child
的成员函数是私有的,Parent::nonvirtualfunction
和Child::secondfunction
缺少其返回类型。