c++:
头文件位置:
#include <iostream>
#include<stdlib.h>
#include<iomanip>
const int defaultsize = 100;
using namespace std;
template <typename T>
相应的数据成员和函数声明的参数也要设成模板类型
protected:
T * data;
int maxsize;
int last;
void resize(int newsize);
bool insert(int i, T &x);
bool remove(int i, T &x);
函数定义部分的格式:
函数1:
template<typename T>
seqlist<T>::seqlist() 每个 类成员函数定义前先加template<typename T> 第二行就是类名和冒号之间加<T>
{
data = new T[defaultsize];
input();
maxsize = defaultsize;
}
函数2:
template<typename T>
seqlist<T>::seqlist(seqlist &L)
{
T value;
maxsize = L.maxsize;
last = L.length() - 1;
data = new T[maxsize];
if (data == NULL)
{
cout << "存储分配错误!" << endl;
exit(0);
}
for (int i = 0; i < last + 1; i++)
{
L.getdata(i, value);
data[i] = value;
}
}
主函数部分:
int main()
{
seqlist <int>s1; 对象数据类型具体化 整型<int>,字符型<char>
convert(s1);
return 0;
}
对象作非类成员函数参数:
void convert(seqlist <T>s1) 形参中间加<T>