c – 扩展类模板

c – 扩展类模板,第1张

概述如何扩展模板类,例如vector?以下代码不起作用.编译器抱怨’Vector’不是模板. template <typename T>class Vector<T> : public std::vector<T>{public: void DoSomething() { // ... }}; 你的语法错了;你需要使用: template <typena 如何扩展模板类,例如vector?以下代码不起作用.编译器抱怨’Vector’不是模板.

template <typename T>class Vector<T> : public std::vector<T>{public:    voID DoSomething()    {        // ...    }};
解决方法 你的语法错了;你需要使用:

template <typename T>class Vector : public std::vector<T>

也就是说,如果没有其他原因,你不应该通过继承扩展标准库容器,因为它们没有虚拟析构函数,因此它本身就是不安全的.

如果要“增强”std :: vector,请使用合成(即使用std :: vector类型的成员变量)或使用非成员函数来提供附加功能.

总结

以上是内存溢出为你收集整理的c – 扩展类模板全部内容,希望文章能够帮你解决c – 扩展类模板所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1224072.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存