我正在尝试使用两个参数创建一个类模板。 然后我想让这些功能变得专业化。
template<class T, int number>
class TestClass{
public:
TestClass(T x){
a = x;
z=number;
};
T print();
private:
T a;
int z;
};
template<class T, int number>
T TestClass<T, number>::print(){
return a + number;
};
//This is the funktion I dont know how to handle
template<>
char TestClass<char, number>::print(){
return a;
};
include <iostream>
include "TestClass.h"
using namespace std;
int main(){
TestClass<int, 10> obj1(10);
TestClass<double, 20> obj2(20.20);
TestClass<char, 30> obj3('A');
cout << obj1.print() << endl;
cout << obj2.print() << endl;
cout << obj3.print() << endl;
}
我知道这个测试程序没有做任何有用的事情。 char只是一个例子。它应该可以是任何东西。
这可能吗?我需要另一个课程模板吗?
非常感谢您的答案