template <typename T>
class A
{
void fun0();
template <typename U> //这里的虚拟类型名不能和类的相同
friend void fun1(A<T> a);
template <typename N> //这里的虚拟类型名不能和类的相同
A<T> &fun2(N); //模板类中声明一个模板函数
};
template <typename T>
void class<T>::fun0()
{}
template <typename T> //这里虚拟类型名可以为任意名称
void fun1(A<T> a) //模板类的变量(引用,指针)声明必须加模板参数列表
{}
template <typename T> //模板类的声明
template <typename N> //模板函数的声明
A<T> &fun2(N n)
{}
int main(void)
{
A<int> a;
A<int> &b=a; //模板类的变量(引用,指针)声明必须加模板参数列表
a.fun2(); //函数模板的调用可以不显示写出虚拟类型 a.fun2<double>()
return 0;
}
对c++模板的总结
最新推荐文章于 2021-08-21 18:02:26 发布