#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; }
缺省模板实参
猜你喜欢
转载自javaeye-hanlingbo.iteye.com/blog/2407852
今日推荐
周排行