【发布时间】:2012-02-05 07:49:49
【问题描述】:
情况是这样的。
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()。
但是我怎样才能强制他们不会覆盖foo()?因为使用我的foo() 对我很重要。
【问题讨论】:
-
这可以编译吗?如果是这样,您就没有问题,因为您的 foo 是私有的。编辑:啊,不,它不编译...
-
@MrLister:私有方法仍然可以被覆盖。
-
真的,对不起。没关系。答案已经给出。
标签: c++ inheritance c++-cli virtual