c++ 模板----成员函数模板
2019-07-04 17:47
1371 查看
- Member Template(成员模板)
class member function可以是个template,但这样的member template既不能是virtual,也不能有缺省参数。例如:
class MyClass{
…
template
void f(T);
}
在这里,MyClass::f声明了一个成员函数集,适用于任何类型参数。参数类型为T类型。 - 相同类型的类模板作为函数参数
- 如下的assign()的参数x ,其类型必须和调用端所提供的对象的类型完全吻合
如果我们对assign()使用不同的templete类型,会出错。
如:MyClassi(5.5);
m.assign(y);//会出错 - 不同类型的类模板作为函数参数
如果c++允许我们为member function提供不同(一个以上)的template类型,就可以放宽"必须精准吻合"这条规则,只要类型可以被赋值,就可以被当作上述member template function的参数
template //成员模板
如下的assgin(const MyClass&x)//允许不同的模板
绕的我头都晕了–。--
相关文章推荐
- C++箴言:用成员函数模板接受兼容类型
- c++远征之模板篇——静态数据成员,静态成员函数
- 06 C++中类、函数、成员模板基本用法
- C++ Template中关于模板类的成员模板函数显示实例化的问题
- C++模板编程->成员函数指针模板参数
- C++模板技术之method_thunk, 使用场景: C++中类成员函数作为回调函数
- C++学习模板篇(静态数据成员与静态成员函数)
- Effective C++ Item 45 运用成员函数模板接收所有兼容类型
- 读书笔记 effective c++ Item 45 使用成员函数模板来接受“所有兼容类型”
- C++模板编程->成员函数指针模板参数
- 读书笔记 effective c++ Item 45 使用成员函数模板来接受“所有兼容类型”
- C++中的模板比较容易混淆的几个概念:类模板和类成员模板以及函数模板
- c++模板类如何定义模板成员函数
- C++箴言:用成员函数模板接受兼容类型
- 读书笔记_Effective_C++_条款四十五:运用成员函数模板接受所有兼容类型
- Effective C++ Item 46 当需要投你非成员函数定义模板
- C++模板编程中只特化模板类的一个成员函数
- C++模板的定制四:定制成员函数和缺省类参
- C++箴言:用成员函数模板接受兼容类型
- C++模板的定制五:对定制成员函数的补充