我正在制作一个继承自另一个类的类,并且必须在基类中返回一个函数的值...这很令人困惑,因此我将让代码自行说明...

class ParentClass {
public:
    virtual bool getMyVal();
};

bool ParentClass::getMyVal() {
    return true;   // in my program there is a bit more to it
}

class ChildClass : public ParentClass {
public:
    bool getMyVal();
};

bool ChildClass::getMyVal() {
    CalculateMassOfSun();

    return parent::getMyVal();    // Please make sure you read below...
}

因此,这只是我想做的一个示例,而不是实际的代码。如您所见,在ChildClass::getMyVal()中,基本上需要进行一些预计算,然后在父类中运行相同的函数并返回其值。我知道它是父级中的虚函数,而且我还没有以正确的方式调用父级中的函数-这是在PHP中完成的方式,而且我认为这是对我有意义的唯一方法并希望此刻其他人。

那我该怎么做呢?此刻,我发现了一些类似的东西:
bool ChildClass::getMyVal() : /*ParentClass::*/getMyVal() { ... }

但是,它不会在此处返回值。

预先感谢您的回复。

最佳答案

要调用getMyVal的基本定义,只需在调用之前添加基本类型名称

return ParentClass::getMyVal();

关于c++ - 基类中虚函数的C++面向对象返回值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10604934/

10-13 03:57