zel*_*ell 1 c++ inheritance templates superclass
假设我有一个模板类
template <int v>
class Foo {...}
Run Code Online (Sandbox Code Playgroud)
我有一个功能
void f(...)
Run Code Online (Sandbox Code Playgroud)
接受 Foo<1>、Foo<2> 等的任何对象作为输入,我该如何定义函数?看起来
void f(Foo x)
Run Code Online (Sandbox Code Playgroud)
不编译。Foo<1>, Foo<100>, ... 以及所有 Foo 的通用类型是什么?
Foo<1>, Foo<100>, ... 以及所有 Foo 的通用类型是什么?
没有常见的类型。你也可以做f一个模板
template <int v>
void f(Foo<v> x)
{
//code here
}
Run Code Online (Sandbox Code Playgroud)
像上面一样,现在该功能将接受Foo您提供的任何内容。