泛型编程就是以独立于任何特定类型的方式编写代码,而模板是泛型编程的基础。
直接上代码吧:
1.模板函数
#include <iostream>
#include <sstream>
using namespace std;
//这是一个参数是模板的函数,别的类型转成string类型
template<typename t2>
string convrtToString(const t2& other)
{
ostringstream ss;
ss<<other;
return ss.str();
}
void main()
{
//转换
int n = 1000;
string str = convrtToString(n)
system("pause");
}
2.模板类(可以用来实现很多数据结构...以及单例类什么的)
#include <iostream>
#include <vector>
using namespace std;
class base
{
};
template<class T1>
class stack
{
public:
void push(T1 obj)
{
m_container.push_back(obj);
cout<<"Push Succ"<<endl;
}
void pop()
{
if (m_container.empty())
{
return;
}
else
{
m_container.erase(m_container.begin());
cout<<"Pop Succ"<<endl;
}
};
private:
//偷个懒,哈哈哈
vector<T1> m_container;
};
void main()
{
stack<base> st;
base obj;
st.push(obj);
st.pop();
system("pause");
}
原文:http://www.cnblogs.com/JensenCat/p/5178417.html