我有一个 IBase
类,其中包含 virtual void CastData(){}
。它在另一个函数中使用。
我有另一个完全不相关的类IC
virtual void CastData(){
for (FunctionIterator it(funcs.begin()); it != funcs.end(); ++it){
DataType dataCopy;
dataCopy = *dataElement;
(*it)(dataCopy);
}
}
现在我想创建一个新类,其中 C 的 CastData 将覆盖基类的 CastData。
所以我尝试类似 IGraphElement 类:公共(public) IBase,公共(public) IC
所有功能均正常运行。所有 IC 功能都运行,但 IBase CastData 未被覆盖。
当您继承的类的虚函数覆盖您继承的另一个类的虚函数时,如何进行此类覆盖?
最佳答案
虚函数必须被派生类覆盖,而不是另一个基类。也许在 IGraphElement 中提供一个覆盖,调用 IC 来完成工作。
关于C++ 继承——为什么我的函数没有被使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4870279/