【发布时间】:2010-10-25 19:41:24
【问题描述】:
假设我在 B 类中有虚函数 foo(),并且我需要在 B 的派生类 D 中稍有不同的行为。是否可以创建覆盖函数 D::foo() 并调用 B: :foo() 从那里,经过特殊情况处理?像这样:
void D::foo()
{
if (/*something*/)
// do something
else
B::foo();
}
我不是在问这是否可行,我知道它会。我想知道,就良好的 OOD 而言,它是否正确。
【问题讨论】:
标签: c++ inheritance oop virtual overriding