假设有函数模板定义如下,下列各选项中正确的是( )。 Template <class T> T Max(T a,T b,T c) { if(a<b) {if(b<c) return c; else return b;} else {if(a<c) return c; else return a;} }
A.float x,y,z;float max;max=Max(x,y,z);
B.float x;int y,z;float max;max=Max(x,y,z);
C.float x;double y,z;float max;max=Max(x,y,z);
D.三个选项都正确
第1题:
( 25 )有如下模板声明:
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;
第2题:
有如下函数模板:template<class T>T square(T x){return x*x;}其中T是
A.函数形参
B.函数实参
C.模板形参
D.模板实参
第3题:
下列是模板声明的开始部分,其中正确的是
A.template<T>
B.template<class T1,T2>
C.template<class T1,class T2>
D.template<class T1;class T2>
第4题:
下列函数模板定义中错误的是
A.template<class Q>
B.template<class Q> Q F(Q x){return Q+x;} Q F(Q x){return x+x;}
C.template<class T>
D.template<class T> T F(T x){return x * x;} bool F(T x){return x>1;}
第5题:
下列对模板的声明,正确的是( )。
A.template<T>
B.template<classT1,T2>
C.template<class T1,classT2>
D.template<class T1;class T2>
第6题:
有如下函数模板声明: template<typename T> T Max(T a,T b){return(a>=b)?a:b;} 下列对函数模板Max()的调用中错误的是( )。
A.Max(3.5,4.5)
B.Max(3.5,4)
C.Max(double)(3.5,4.5)
D.Max<double>(3.5,4)
第7题:
下列函数模板的定义中,合法的是
A.template <typename T> T abs(T x){return x<0?-x:x;}
B.template class <T> T abs(T x){return x<0?-x:x;}
C.template T<class T>abs(T x){return x<0?-x:x;}
D.template T abs(T x){return x<0?-x:x;}
第8题:
有如下函数模板声明: template<typename T> T Max(Ta,Tb){return(a>=b)?a:b;) 下列对函数模扳Max的调用中错误是
A.Max(3.5,4,5)
B.Max(3.5,4)
C.Max<double>(3.5,4.5)
D.Max<double>(3.5,4)
第9题:
下列对模板的声明中,正确的是
A.template<T>
B.template<class T1,T2>
C.template<class T1,class T2>
D.tamplate<class T1;class T2>
第10题:
下列对模板的声明中正确的是( )。
A.template<T>
B.template<class T1,T2>
C.template<classT1,class T2>
D.template<class T1;class T2>