参见英文答案 >
Is there a way to prevent a method from being overridden in subclasses?14个
情况就是这样.
情况就是这样.
- 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()对我很重要.