更多"以下模板定义: template<class T> T fun(T"的相关试题:
[单项选择]以下模板定义:
template<class T>
T fun(T x,T y)return x*x+y*y;
下面对fun的调用中错误的是( )。
A. fun<int>(2,6.5)
B. fun(2,6.5)
C. fun<>(2,6)
D. fun(2,6)
[单项选择]有如下函数模板定义:
template
T1 FUN(T2 n){return n*5.0;}
若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为
A. FUN(9)
B. FUN<9>
C. FUN(9)
D. FUN<9>(double)
[单项选择]
有如下函数模板定义:
template<class t>
T func(Tx,Ty){return x*x+y*y;}
在下列对func的调用中,错误的是()
A. func(3,5);
B. func(3.0,5.5);
C. func(3,5.5);
D. func<int>(3,5.5)
[单项选择]有如下函数模板的定义:template<class T>T func(Tx, Ty){return x*x+ y*y;}在下列对func的调用中不正确的是( )。
A. func(3,5);
B. func<>(3,5);
C. func(3,5.5);
D. func<int>(3,5.5);
[单项选择]有如下函数模板: template<class T>T square (Tx) {return x*x;) 其中T是( )。
A. 函数形参
B. 函数实参
C. 模板形参
D. 模板实参
[单项选择]函数模板:template<class T> T add(T x,T y){return x+y;} 下列对 add 函数的调用不正确的是
A. add <> (1,2)
B. add <int> (1,2)
C. add (1.0,2)
D. add(1.0,2.0)
[单项选择]函数模板:template<class T> T add(T x,T y){return x+y;} 下列对add函数的调用不正确的是
A. add<>(1,2)
B. add<int>(1,2)
C. add(1,0,2)
D. add(1.0,2.0)
[单项选择]有如下函数模板:template<class T>T square(T x){return x*x;}其中T是()。
A. 函数形参
B. 函数实参
C. 模板形参
D. 模板实参
[单项选择]有如下函数模板定义: template T1
sum(T1 a1) { return(a1+a2+a3); }
则以下调用中正确的是( )。
A. sum<int,4,3>(5);
B. sum<4,3>(5);
C. sum<int,int,int>(5);
D. sum(5);
[单项选择]有如下函数模板定义:
template
T1 sum(T1 a1)
return(a1+a2+a3);
则以下调用中正确的是( )。
A. sum<int,4,3>(5);
B. sum<4,3>(5);
C. sum<int,int,int>(5);
D. sum(5);
[单项选择]有如下类定义: class Fun { public: Fun(int v):value(v){}//① ~Fun( ){}//② private: Fun{},//③ int value=0;//④ }; 其中存在语法错误的行是( )。
A. ①
B. ②
C. ③
D. ④
[单项选择]有如下类模板定义:
template
class BigNumber{
long n;
public:
BigNumber(T i):n(i){}
BigNumber operator+(BigNumber b){
return BigNumber(n+b.n);
}
};
己知b1、b2是BigNumber的两个对象,则下列表达式中错误的是
A. bl+b2
B. b1+3
C. 3+b1
D. 3+3
[单项选择]对于模板定义关键字class和typename说法不正确的是
A. 程序中的class并不能都替换为typename
B. class和typename都可互相替换
C. 程序中的typename都能替换为class
D. 程序中的部分class可以替换为typename