定义模板类及模板类传入参数与默认参数
template<typename T1, typename T2 = vector<T1>>
class MyClass
{
public:
MyClass();
explicit MyClass(int a);//explicit只对只有一个参数的构造函数有效,指定为显示转换
MyClass(const MyClass& copyMyClass);
MyClass(MyClass&& moveMyClass);
~MyClass();
private:
};
类的实现
//默认构造
template<typename T1, typename T2>
MyClass<T1, T2>::MyClass()
{
}
template<typename T1, typename T2>
MyClass<T1, T2>::MyClass(int a)
{
}
//复制构造
template<typename T1, typename T2>
MyClass<T1, T2>::MyClass(const MyClass& copyMyClass)
{
}
//搬迁构造
template<typename T1, typename T2>
MyClass<T1, T2>::MyClass(MyClass&& moveMyClass)
{
}
template<typename T1, typename T2>
MyClass<T1, T2>::~MyClass()
{
}