有如下函数模板定义: template<typenameT1,typenameT2>T1FUN(T2n){returnn*5,0;}若要求以i

题目

有如下函数模板定义:

template<typenameT1,typenameT2>

T1FUN(T2n){returnn*5,0;}

若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为( )。

A.FUN(9)

B.FUN<9>

C.FUN(9)

D.FUN<9>(double)

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有如下函数模板:

template

T cast(U u){return u;}

其功能是将 U 类型数据转换为 T 类型数据。已知 i 为 int 型变量,下列对模板函数 cast 的调用中正确的是

A . cast(i);

B . cast<>(i);

C . cast(i);

D . cast (i);


正确答案:D

第2题:

若体检结果为T2N,Mo,按TNM分期法应属于

A.O期

B.I期

C.Ⅱ期

D.III期

E.Ⅳ期


正确答案:C
解析:乳癌分为以下各期:
  O期:TisNoMo;
  I期:T1NoMo;
  Ⅱ期:To~1 N1 M0,T2No~1 M0,T3 NoM0;
  III期:T0—2N2Mo,T3Nl~2Mo,T4任何NM0,任何TN3M0;
  Ⅳ期:包括M1的任何TN。

第3题:

以下关于函数模板的论述中,正确的是()。

A、一旦定义了函数模板,就不能再定义同名的重载函数;

B、从同一个函数模板实例化后得到的多个模板函数属于函数重载;

C、函数模板中只有一种参数;

D、在定义函数模板时,template语句与函数模板定义语句之间可以有别的语句。


参考答案:B

第4题:

若体检结果为T2N,Mo,按TNM分期法应属于( )。

A.0期

B.I期

C.Ⅱ期

D. Ⅲ期

E.Ⅳ期


正确答案:C

第5题:

已知一个函数模板定义为 template T1 FUN(T2 n){return n*5.0;}

已知一个函数模板定义为

template <typename T1.typenaine T2>

T1 FUN(T2 n){return n*5.0;}

若要求以int型数据7为函数实参调用该模板函数,并返回一个double型数据,则该调用应表示为______。


正确答案:FUNdouble>(7)
FUNdouble>(7) 解析:实参类型和返回值类型不匹配时,需要强制转换参数类型,所以在函数模板调用时要显式地定义参数数据类型double,将整数7转换为double型。

第6题:

已知一个函数模板定义为

template T1, typename T2>

T1 FUN(T2 n) {return n * 5.0;}

若要求 以 in t 型数 据 7 为函数实参调用该模板函数 , 并返回一 个 doubl e 型数据 , 则该 调用应表示为 【 15 】 。


正确答案:

第7题:

下列程序是一个函数模板,用于把数组a的每个元素按照逆序放入数组b中。请填空完成该函数模板的定义

template<class Type>

void Func(Type a[], Type b[],【 】)

{

for(int i=0;i<n;i++)

b[n-i-1]=a[i];

}


正确答案:int n
int n 解析:本题考查函数模板的定义,注意第三个参数不需要改变类型,仅仅用于给定循环体的上界.为正整数,故可直接用int来限定。

第8题:

采用重载函数的目的是()。

A、函数模板也是一个具体类型的函数

B、函数模板的类型参数与函数的参数是同一个概念

C、通过使用不同的类型参数,函数模板可以生成不同类型的函数定义

D、用函数模板定义的函数没有类型


参考答案:C

第9题:

下列关于函数模板和模板函数的描述,错误的是()

A、函数模板是一组函数的模板

B、模板函数是一个实在的函数

C、函数模板是定义重载函数的一种工具

D、模板函数在编译时不生成可执行代码


参考答案:D

第10题:

若类A和类B的定义如下:includeclass A{int i,j;public:int geti(){return i;}};class

若类A和类B的定义如下: #include<malloc.h> class A { int i,j; public: int geti() { return i; } }; class B:public A { int k; public: void make() { k=i*j; } }; 则上述定义中非法的表达式是( )。

A.k=i*j

B.int k;

C.return i;

D.void make();


正确答案:A
解析:因为派生类不能是基类的私有成员i和j(默认情况下,成员的属性为私有),所以表达式k=i*j是非法的。其余的访问权限都是许可的。

更多相关问题