将类模板作为函数参数传递

时间:2010-07-07 00:26:48

标签: c++ templates

这个问题是我对情况缺乏了解的结果,所以如果听起来过于愚蠢,请耐心等待。

我在类中有一个函数,比如:

Class A {

void foo(int a, int b, ?)
{
 ----
 }
}

我要传递的第三个参数是类型参数,如

classA<classB<double >  > obj

这可能吗?如果没有,有人可以建议一个解决方法吗?我刚刚开始阅读模板。

谢谢,
萨扬

2 个答案:

答案 0 :(得分:4)

如果你把它作为第三个参数放在那里不行吗?

void foo(int a, int b, classA< classB<double> > obj) { ... }

如果它是复杂类型,最好使它成为const引用,以避免不必要的复制:

void foo(int a, int b, const classA< classB<double> > &obj) { ... }

答案 1 :(得分:1)

您可以使用会员模板:

Class A{

template <typename T>
void foo(int a, int b, T &c) {

    }
}