您的位置:首页 > 编程语言 > C语言/C++

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)//允许不同的模板

绕的我头都晕了–。--

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: