#include<iostream> #include<vector> #include<list> //1. The default value of the second type parameter is 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; //The second type parameter is vector<int> MyClass<int,std::list<int> > c2; //The second type parameter is list<int> c1.setData(); c1.outPutData(); c2.setData(); c2.outPutData(); return 0; }
Default template arguments
Guess you like
Origin http://43.154.161.224:23101/article/api/json?id=326359195&siteId=291194637
Ranking