(1)模板语法
template这个关键字会告诉编译器,随后的类定义将操作一个或更多未指明的类型。当由这个模板产生实际类代码时,必须指定这些类型以使编译器能够替代他们。
template <class T>
class Arrary{
enum { size = 100};
T A[size];
void display();
.....
};
tmplate <class T> 这里的T是一个类型名称,这个类型既可以是基本类型,也可以是自定义类型。
在类外定义函数的方法如下:
template <class T>
void Arrary<T>::display()
{
.....
}
在引用模板的类名的地方,必须伴有该模板的参数列表。
(2) 模板中的常量
模板参数并不局限于类定义的类型,也可以使用编译器的 内置类型。这些参数值在编译期间变成模板的特定示例的常量。还可以对这些参数使用默认值。
template <class T , int size = 100 >
class Array
{
T array[size]
......
};
template这个关键字会告诉编译器,随后的类定义将操作一个或更多未指明的类型。当由这个模板产生实际类代码时,必须指定这些类型以使编译器能够替代他们。
template <class T>
class Arrary{
enum { size = 100};
T A[size];
void display();
.....
};
tmplate <class T> 这里的T是一个类型名称,这个类型既可以是基本类型,也可以是自定义类型。
在类外定义函数的方法如下:
template <class T>
void Arrary<T>::display()
{
.....
}
在引用模板的类名的地方,必须伴有该模板的参数列表。
(2) 模板中的常量
模板参数并不局限于类定义的类型,也可以使用编译器的 内置类型。这些参数值在编译期间变成模板的特定示例的常量。还可以对这些参数使用默认值。
template <class T , int size = 100 >
class Array
{
T array[size]
......
};