我希望B类不能重新定义其基类A的成员函数之一.有没有办法做到这一点?
编辑:
谢谢你的回答.我是否可以阻止非虚拟成员函数被覆盖?
解决方法:
如果您的方法是虚拟的,那么在C 11中您可以防止用final覆盖它们.
class A
{
public:
virtual void foo() final;
};
class B : public A
{
public:
void foo(); // <-- error
};
你无法阻止隐藏.
2024-04-01 22:28:22
我希望B类不能重新定义其基类A的成员函数之一.有没有办法做到这一点?
编辑:
谢谢你的回答.我是否可以阻止非虚拟成员函数被覆盖?
解决方法:
如果您的方法是虚拟的,那么在C 11中您可以防止用final覆盖它们.
class A
{
public:
virtual void foo() final;
};
class B : public A
{
public:
void foo(); // <-- error
};
你无法阻止隐藏.