我正在扩展第三部分库提供的课程.该类,我们称之为Foo,有一个reset()方法可以调用,以重新启动Foo的行为.该reset()方法也由类内部使用.
class Foo
{
public:
void reset () {
/* ... */
}
void something () {
reset();
}
};
Run Code Online (Sandbox Code Playgroud)
到目前为止,我需要重载该reset()方法以重置我的其他功能:
class Bar : public Foo
{
public:
void reset() {
/* ...something... */
Foo::reset();
}
};
Run Code Online (Sandbox Code Playgroud)
不幸的是,由于该Foo::reset()方法不是虚拟的,通过调用Bar::something()我得到的Foo::reset()方法调用而不是Bar::reset().
是否有一种方法(不同于超载Foo::something())使其向后虚拟?
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |