#include<iostream>
#include<vector>
#include<list>
//1. 第二个类型参数的缺省值是vector<T>
template<typename T, typename T2 = std::vector<T> >
class MyClass {
public:
T2 data;
MyClass() {
std::cout<<" type 1. \n";
}
void setData(){
for(int i=0;i<10;i++){
data.push_back(i);
}
}
void outPutData(){
for(int i=0;i<10;i++){
std::cout<<data.back()<<std::endl;
data.pop_back();
}
}
};
int main() {
MyClass<int> c1; //第二个类型参数是vector<int>
MyClass<int,std::list<int> > c2; //第二个类型参数是list<int>
c1.setData();
c1.outPutData();
c2.setData();
c2.outPutData();
return 0;
}
缺省模板实参
最新推荐文章于 2024-06-05 15:16:22 发布