【发布时间】:2012-10-19 03:56:36
【问题描述】:
我对 C++ 比较陌生,我是第一次尝试构建复杂的模板结构。
作为模板类 Foo 的成员,我如何声明一个由 Foo* 元素组成的 std::vector,但这可能是各种类型的?
#include <vector>
template <typename T>
class Foo {
T mValue;
std::vector< Foo<T>* > mFooParameters; // <---- I would like this vector to contain
// any sort of Foo<T>* elements,
// Foo<int>*, Foo<double>*, etc.
};
是直截了当、可能但复杂还是不可能?
感谢您的回答!
【问题讨论】:
-
我认为这是 stackoverflow.com/questions/6274136/… 的副本,但我不明白您的问题文本与其标题有何关系。
-
谢谢 jogojapan。这可能是因为我迷失了模板的东西。我正在查看您的链接!
-
那么,它是重复的吗? (如果不是,有什么区别?)
-
这并不完全是重复的,因为我认为我使用模板存在固有的困难。多态性是答案,请参阅我对@h3nr1x 答案的评论。