c – 是否可以防止成员函数被重新定义?

我希望B类不能重新定义其基类A的成员函数之一.有没有办法做到这一点?

编辑:

谢谢你的回答.我是否可以阻止非虚拟成员函数被覆盖?

解决方法:

如果您的方法是虚拟的,那么在C 11中您可以防止用final覆盖它们.

class A
{
public:
   virtual void foo() final;
};

class B : public A
{
public:
   void foo(); // <-- error
};

你无法阻止隐藏.

上一篇:C的多态性与boost scoped_ptr


下一篇:如何使用虚函数实现C语言中的多态行为?