假设有函数模板定义如下,下列各选项中正确的是( )。 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题:
有如下函数模板:template<class T>T square(T x){return x*x;}其中T是
A.函数形参
B.函数实参
C.模板形参
D.模板实参
第2题:
下列对模板的声明,正确的是( )。
A.template<T>
B.template<classT1,T2>
C.template<class T1,classT2>
D.template<class T1;class T2>
第3题:
下列函数模板定义中错误的是
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;}
第4题:
下列模板的声明中,正确是
A.template<T>
B.template<class T1,T2>
C.template<class T1,class T2>
D.template<class T1 ;class T2>
第5题:
有如下函数模板的定义: template <class T> T func(T x,T y){ 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);
第6题:
有如下的类的模板定义:
template <class T>
class MyClass
{
private:
T number;
public:
MyClass(T k);
…
};
其中构造函数MyClass()用k的值初始化数据成员n。因此在模板类体外,构造函数
MyClass应定义为【 】。
第7题:
下列对模板的声明,正确的是( )。
A.template<T>
B.template<class T1,T2>
C.template<class T1,class T2>
D.template<class T1;class T2>
第8题:
有如下函数模板声明:
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)
第9题:
下列对模板的声明中,正确的是
A.template<T>
B.template<class T1,T2>
C.template<classT1,class T2>
D.template<classT1;class T2>
第10题:
有如下函数模板声明: 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)
第11题:
下面的函数模板定义中错误的是______ 。
A.template<class Q > QF (Q x){return Q +x;}
B.template<class Q > QF (Q x){returnx/x;}
C.template <class T > T F(T x) {return x*x;}
D.template <class T> bool F (T x) {return x>1;}
第12题:
假设有函数模板定义如下:template< typename T >Max(T a,T b,T&c){c=a+b;}下列选项正确的是()
第13题:
下列函数模板的定义中,合法的是
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;}
第14题:
下列对模板的声明中,正确的是
A.template<T>
B.template<class T1,T2>
C.template<class T1,class T2>
D.tamplate<class T1;class T2>
第15题:
下列对模板的声明中正确的是( )。
A.template<T>
B.template<class T1,T2>
C.template<classT1,class T2>
D.template<class T1;class T2>
第16题:
有如下函数模板定义: template <class T> T func(T x, T y){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);
第17题:
下面不属于同一函数模板的是( )。
A.template<class t1> t1 max(t1 &a,t1 &b) {…}template<class t2> t2 max(t2 &a,t2 &b) {…}
B.template<class t1>t1 max(t1 a,t1 b){…}template<class t2>t2 max(t2 &a,t2 &b){…}
C.template<class t1> t1 max(t1 * a,t1 * b) {…} template<class t2> t2 max(t2 &a,t2 &b) {…}
D.template<class t1>t1 max(t1 a,t1 b){…}template<class t2>t2 max(t2 &a,t2 &b,t2 c){…}
第18题:
有如下函数模板声明: 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)
第19题:
下列的模板说明中,正确的是( )。
A.template <T1,T2>
B.template <class T1,T2>
C.template <class T1,class T2>
D.template <typename T1;typename T2>
第20题:
下列对模板的声明中正确的是
A.template<T>
B.template<class T1,T2>
C.template<class T1,class T2>
D.template<class T1;class T2>
第21题:
有如下模板声明: 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;
第22题:
下列关于函数模板的定义中,合法的是( )。
A.template class <T>T abs(T z) {return z<0 ?-z:z;}
B.template<typename T>T abs(T z) {return z<0 ?-z:z;}
C.template T<class T>abs(T z) {return z<0 ?-z:z;}
D.template T abs(Tz) {return z<0 ?z:z;}
第23题:
有如下函数模板声明: template<typename T> TMax(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)