我想知道是否可以从基类中“删除”成员/方法,或者禁止它们被继承?
假设我有一个类A
,它定义了一个下标运算符,并在内部将该运算符的读/写存储在一个map对象中。然后我创建继承自B
的{{1}}。有什么方法可以从B中删除下标运算符,或者更确切地说,防止它被继承并因此成为B的一部分?
很抱歉这么详细,但为了说清楚,我不是在寻找像final关键字这样的功能,我希望防止B在A中重载一些东西。我想基本上说“B,从A EXCEPT X“继承一切。我认为这是不可能的,而且很可能答案是“修复/改进你的设计”,只是认为无论如何都没有任何伤害。
答案 0 :(得分:3)
使您想要“删除”私有的函数(或成员),因此派生类将无法“看到它”。没有其他方法可以从派生对象中物理删除函数(因为派生对象包含基类的副本,其中需要您的函数/成员),但是将其设置为私有可以保证派生对象无法访问它