我必须能够使用下面的命令,其中 T 可以是任何类型,例如字符串。
Counter<T> counter;
Counter 应该能够容纳多个项目,因此我选择将其实现为向量。每个项目本身必须包含一个类型为 T 的变量(如果我们继续上面的示例,则为一个字符串)和一个 int。我需要使解决方案尽可能简单,因为稍后我将需要创建函数,通过在其他任务中降低 int 值来打印出每个项目。我尝试了以下代码,但 1)它不起作用,2)有更好的解决方案吗?
#include<string>
#include<cstdlib>
#include<vector>
template<class T>
class Record{
T itemtype;
int total;
public:
int increment(T item);
int count(T item);
void printSummary();
};
class Counter{
vector<Record> data;
};
int main(){
Counter<string> counter;
return 0;
}