/*======================================================================
类模板:
一个类用到很多次,都是类型不同,功能相同,这时可以运用函数模板来解决问题
template<class T>
class MyArray
{
public:
void display()
{
}
private:
T *m_pArr;
};
//特别提醒:ide等问题 模板的h文件和模板的cpp文件不能分开编译
/*======================================================================*/
#include <iostream>
using namespace std;
template<class T, int size>
class Container
{
public:
Container(T a)
{
m_pArr = new T();
*m_pArr = a;
}
void display();
~Container()
{
delete m_pArr;
m_pArr = NULL;
}
private:
T *m_pArr;
};
template<class T, int size>
void Container<T, size>::display()//类外定义需要加上上面的模板说明
{
for (int i = 0; i < size; i++)
{
cout << *m_pArr << endl;
}
}
int main()
{
Container<int,2> a(10);
Container<char*,3>b("gf");
a.display();
b.display();
}