情况就是这样。防止继承者类重写基类的虚函数
class Interface
{
public:
virtual void foo() = 0;
}
class MyClass : Interface
{
public:
virtual void bar() = 0;
private:
void foo()
{
//Some private work and checks.
bar();
};
}
我想,我的用户将创建从MyClass的继承一个类,他们将不得不实施有bar()
。
但我怎么能enfoce他们不会覆盖foo()
?因为使用我的foo()
对我很重要。
这是否编译?如果是这样,你没有问题,因为你的foo是私人的。编辑:啊,不,它不编译... – 2012-01-08 11:49:44
@MrLister:私有方法仍然可以被重写。 – 2012-01-08 11:51:08
真的,对不起。没关系。答案已经给出。 – 2012-01-08 12:00:52