C++ 如何在不允许用户使用基类指针的情况下继承STL容器?
嗨,我想从STL容器(集合)继承,如下所示: 如果您需要动态多态性的继承,则标准库容器类不是为此而设计的,但如果您不需要,则可以安全地从它们继承C++ 如何在不允许用户使用基类指针的情况下继承STL容器?,c++,inheritance,stl,C++,Inheritance,Stl,嗨,我想从STL容器(集合)继承,如下所示: 如果您需要动态多态性的继承,则标准库容器类不是为此而设计的,但如果您不需要,则可以安全地从它们继承 因此,我的问题是:如何继承STL容器(例如,A继承),同时确保类A的用户无法将指向A对象的指针分配给其基类指针?首先为什么要继承?使用私有继承A类:专用std::vector。不过,这种方法的有用性值得怀疑。写作会更简单。@Bааћ:他当然可以,如果他想让他的新类也提供它们,他可以把它们包装起来。@Bааћ不必有这么多。我也不是说这是个好主意,但私有继
因此,我的问题是:如何继承STL容器(例如,A继承),同时确保类A的用户无法将指向A对象的指针分配给其基类指针?首先为什么要继承?使用私有继承<代码>A类:专用std::vector。不过,这种方法的有用性值得怀疑。写作会更简单。@Bааћ:他当然可以,如果他想让他的新类也提供它们,他可以把它们包装起来。@Bааћ不必有这么多。我也不是说这是个好主意,但私有继承并不意味着“他不能使用方法”。@Rich private-heritation可以做到这一点,你不能做a*obj=new B;如果B是私下从A继承的,但我认为最好知道OP为什么要先继承STL容器,可能有更好的方法来设计它。