泛型模板(c++常问问题十四)

泛型编程就是以独立于任何特定类型的方式编写代码,而模板是泛型编程的基础。

直接上代码吧:

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");
}

 

你可能感兴趣的:(泛型模板(c++常问问题十四))