Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在不允许用户使用基类指针的情况下继承STL容器?_C++_Inheritance_Stl - Fatal编程技术网

C++ 如何在不允许用户使用基类指针的情况下继承STL容器?

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

嗨,我想从STL容器(集合)继承,如下所示:

如果您需要动态多态性的继承,则标准库容器类不是为此而设计的,但如果您不需要,则可以安全地从它们继承


因此,我的问题是:如何继承STL容器(例如,A继承),同时确保类A的用户无法将指向A对象的指针分配给其基类指针?

首先为什么要继承?使用私有继承<代码>A类:专用std::vector。不过,这种方法的有用性值得怀疑。写作会更简单。@Bааћ:他当然可以,如果他想让他的新类也提供它们,他可以把它们包装起来。@Bааћ不必有这么多。我也不是说这是个好主意,但私有继承并不意味着“他不能使用方法”。@Rich private-heritation可以做到这一点,你不能做a*obj=new B;如果B是私下从A继承的,但我认为最好知道OP为什么要先继承STL容器,可能有更好的方法来设计它。