#include<iostream>
#include<string>
using namespace std;
//類模闆當作一個類的參數
//設計STL時候用到
//面試,類模闆當作參數
class MyClass
{
public:
private:
};
template<class T>
class MyClass2
{
public:
T t;
MyClass2(T t1):t(t1){
}
private:
};
template<class T>
class ren //一個通用的類的類模闆
{
public:
T name;
ren(T t) :name(t)
{
}
};
template<class T, template<class T> class T1 > //使用類模闆當作模闆參數的類
class people
{
public:
T1<T> r;
people(T1<T> t1) :r(t1)
{
}
};
void main()
{
ren<string> r("nihao");
MyClass2<ren<string>> m(r); //僅僅使用template<class T>
people<string, ren> p(r); //使用template<class T> class T1
cout << m.t.name << endl;
cout << p.r.name << endl;;
std::cin.get();
}