我正在创建一个继承了另一个类的类,并且必须在基类中返回一个函数的值......这很令人困惑所以我会让代码说明一下......
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() { ... }
但是它不会在这里返回值。
提前感谢您的回复。
答案 0 :(得分:6)
要调用getMyVal
的基本定义,只需使用基本类型名称
return ParentClass::getMyVal();
答案 1 :(得分:2)
如果您想拨打ParentClass
getMyVal()
版本,请执行以下操作:
bool ChildClass::getMyVal() {
CalculateMassOfSun();
return ParentClass::getMyVal(); // this will call parent version
}