有如下函数模板定义: template<typenameT1,typenameT2,typenameT3>T2plus(T1t1,T3t3){returnt1+t3;} 则以下调用正确的是( )。A.plus(3,5L);B.plus<>(3,5L);C.plus<int>(3,5L);D.plus<int,double>(3,5L);

题目

有如下函数模板定义: template<typenameT1,typenameT2,typenameT3>T2plus(T1t1,T3t3){returnt1+t3;} 则以下调用正确的是( )。

A.plus(3,5L);

B.plus<>(3,5L);

C.plus<int>(3,5L);

D.plus<int,double>(3,5L);


相似考题
更多“有如下函数模板定义: template&lt;typenameT1,typenameT2,typenameT3&gt;T2plus(T1t1,T3t3){ret ”相关问题
  • 第1题:

    有如下函数模板定义: template T2 plus(T1 t1,T3 t3){re

    有如下函数模板定义: template <typename T1,typename T2,typename T3> T2 plus(T1 t1,T3 t3){return t1+t3;}

    A.plus(3,5L);

    B.plus<>(3,5L);

    C.plus<int>(3,5L);

    D.plus<int, double>(3,5L);


    正确答案:D
    解析:本题考核函数模板的使用。C++中对函数模板的调用有时候只使用了函数实参,而没有使用模板实参,模板实参都被省略了,但模板实参的省略并不是必然的,而是有条件。模板实参不能省略的情况有:从模板函数实参表获得的信息有矛盾;需要获得特定类型的返回值,而不管参数的类型如何:虚拟类型参数没有出现在模板函数的形参中;函数模板含有常规形参。题中定义的函数模板中虚拟类型参数T2没有出现在模板函数的形参列表中,所以在调用时不能省略,D选项的调用省略了T3,这是允许的。

  • 第2题:

    有如下函数模板定义: template<typename T1,typename T2,typename T3) T2 plus(T1 t1,T3 t3){return t1+t3;} 则以下调用正确是( )。

    A.plus(3,5L);

    B.plus<>(3,5L);

    C.plus<int>(3,5L);

    D.plus<int,double)(3,5L);


    正确答案:D
    解析: C++中对函数模板的调用有时候只使用了函数实参,而没有使用模板实参,模板实参都被省略了,但模板实参的省略并不是必然的,而是有条件。从模板函数实参表获得的信息有矛盾:需要获得特定类型的返回值,而不管参数的类型如何;虚拟类型参数滑出现在模板函数的形参中;函数模板含有常规形参。题中定义的函数模板中虚拟类型参数T2没有出现在模板函数的形参列表中,所以在调用时不能省略,D选项的调用省略了T3,这是允许的。

  • 第3题:

    下列的模板说明中,正确的是()

    A.template <typename T1, typename T2>

    B.template <class T1, T2>

    C.template < T1 class, T2 class >

    D.template <typename T1; typename T2>


    【审题分析】(1)主要考查表结构的创建和主要的设置方法。(2)王要考查字段属性中“有效性规则”和有效文本设置,这里还涉及及关于“日期”、“时间”函数的使用。涉及的函数有dataserial0,,ear(1,date0。(3)主要考查表结构中主键的设置方法和主键字段分析方法。(4)主要考查默认字段的设置。是、否型的逻辑值。是:1,否:0,以及“掩码”的设置方法。(5)和(2)相同,主要是有效文本的设置。(6)考查表记录的添加。 【操作步骤】 步骤1:双击“sampl.mdb”数据库,单击“表”对象,双击“使用设计器创建表”。在表设计窗口中,输入字段名“编号”对应类型选择“文本”,修改“字段大小”为“5”。逐一输入字段选择对应的类型,修改字段的大小。 步骤2:单击“保存”按钮,保存输入“tTeaeher”表名。单击+确定”按钮,关闭设计视图。

  • 第4题:

    有如下函数模板定义:templateT2 plus(T1 t1, T3 t3){retu

    有如下函数模板定义: template<typename T1,typename T2 typename T3> T2 plus(T1 t1, T3 t3){return t1+t3;} 则以下调用中正确是

    A.plus(3,5L);

    B.plus<>(3,5L);

    C.plus<int>(3,5L);

    D.plus<int, double>(3,5L);


    正确答案:D
    解析:本题考核函数模板的使用。C++中对函数模板的调用有时候只使用了函数实参,而没有使用模板实参,模板实参都被省略了,但模板实参的省略并不是必然的,而是有条件。模板实参不能省略的情况有:从模板函数实参表获得的信息有矛盾;需要获得特定类型的返回值,而不管参数的类型如何;虚拟类型参数没有出现在模板函数的形参中;函数模板含有常规形参。题中定义的函数模板中虚拟类型参数T2没有出现在模板函数的形参列表中,所以在调用时不能省略,D选项的调用省略了T3,这是允许的。

  • 第5题:

    有如下模板声明:templateclass A;下列声明中,与上述声明不等价的是A.t

    有如下模板声明: template<typename T1,typename T2>class A; 下列声明中,与上述声明不等价的是

    A.template<class T1,class T2>class A;

    B.template<class T1,typename T2>class A;

    C.template<typename T1,class T2>class A;

    D.template<typename T1,T2>class A;


    正确答案:D
    解析:在模板定义中,一般情况下,class和typename可以互换。在选项D中,T2没有类型参数限制定义,所以和题干给出的定义不同。