【发布时间】:2014-01-25 03:31:25
【问题描述】:
我正在尝试创建一个类,该类将从一组向量中绘制元素(并且还将这些向量作为类中的容器保存),但我觉得在管理具有很多函数的向量时,例如使用了 vectorOneAdd、vectorTwoAdd为了向向量添加元素是没有意义的。一定有更好的方法,这就是我在这里问的原因,我听说你可以使用模板来做到这一点,但我不太确定如何。需要帮助。不想有很多无意义的代码。
我的意思的例子如下:
class Cookie
{
std::vector<Chocolate> chocolateContainer;
std::vector<Sugar> sugarContainer;
void chocolateVectorAdd(Chocolate element); // first function adding to one vector
void sugarVectorAdd(Sugar element); // second function adding to another vector
}
请使用示例代码,谢谢:)
【问题讨论】:
-
如果您有多个容器变量,则需要添加多个函数。现在无法确定从类型中选择哪些变量。
-
P.S 由于我已经被否决了,我正在寻找答案,但我发现的只是如何在模板中返回 2 种不同的类型。
-
你可以做的是让所有包含的类型(比如你的例子中的
Chocolate和Sugar)继承同一个虚拟基类,那么你只需要一个容器。