我想知道是否有可能从基类中“删除”成员/方法,或者更确切地说是禁止它们被继承?

假设我有一个定义下标运算符的类A ,并在内部将该运算符的读/写存储在map对象中。 然后我创建继承自A B 有什么方法可以从B中删除下标运算符,或者更确切地说,防止它被继承并因此成为B的一部分?

很抱歉这么冗长,但为了说清楚,我不是在寻找像final关键字这样的功能,我希望防止B在A中重载一些东西。我希望基本上说“B,继承所有来自除了X“。 我认为这是不可能的,而且很可能答案是“修复/改进你的设计”,只是认为无论如何都没有任何伤害。

===============>>#1 票数:3 已采纳

使您想要“删除”私有的函数(或成员),因此派生类将无法“看到它”。 没有其他方法可以从派生对象中物理删除函数(因为派生对象包含基类的副本,其中需要您的函数/成员),但是将其设置为私有可以保证派生对象无法访问它。

  ask by translate from so

未解决问题?本站智能推荐: