类模板当作一个类模板的模板参数

#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();



}

展开阅读全文

没有更多推荐了,返回首页