单选题有如下模板声明:template class A;下列声明中,与上述声明不等价的是( )。Atemplateclass T1,class T2 class A;Btemplateclass T1,typename T2 class A;Ctemplatetypename T1,class T2 class A;Dtemplatetypename T1,T2 class A;
单选题
有如下模板声明:template 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;
参考解析
解析:
在类模板中,数据类型本身是它的参数,因而是一种参数化类型的类,是类的生成器。对于本题来说,模板形参表中包括类型Tl和T2两个类型参数,D项,T1说明其类型,而T2没有说明其类型,与题干中的模板说明不一致。
在类模板中,数据类型本身是它的参数,因而是一种参数化类型的类,是类的生成器。对于本题来说,模板形参表中包括类型Tl和T2两个类型参数,D项,T1说明其类型,而T2没有说明其类型,与题干中的模板说明不一致。
相关考题:
( 25 )关于关键字 class 和 typename , 下列表述中正确的是A ) 程序中的 typename 都可以替换为 classB ) 程序中的 class 都可以替换为 typenameC ) 在模板形参表中只能用 typename 来声明参数的类型D ) 在模板形参表中只能用 class 或 typename 来声明参数的类型
下列是模板声明的开始部分,其中正确的是A.templateB.templateC.template 下列是模板声明的开始部分,其中正确的是A.template<T>B.template<class T1,T2>C.template<class T1,class T2>D.template<class T1;class T2>
( 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;
在如下源代码文件Test.java中, 哪个是正确的类定义?() A.public class test { public int x = 0; public test(int x) { this.x = x; } }B.public class Test{ public int x=0; public Test(int x) { this.x = x; } }C.public class Test extends T1, T2 { public int x = 0; public Test (int x) { this.x = x; } }D.public class
下列对模板的声明,正确的是()。A.templateB.templateC.template 下列对模板的声明,正确的是( )。A.template<T>B.template<classT1,T2>C.template<class T1,classT2>D.template<class T1;class T2>
下列对模板的声明中,正确的是A.templateB.templateC.template 下列对模板的声明中,正确的是A.template<T>B.template<class T1,T2>C.template<class T1,class T2>D.tamplate<class T1;class T2>
下列是模板声明的开始部分,其中正确的是______ 。A.templateB.template C.templa 下列是模板声明的开始部分,其中正确的是______ 。A.template<T>B.template <class T1,T2>C.template <class T1,class T2>D.template <class T1;class T2>
有函数模板声明和一些变量定义如下:templateclass T1,class T2,class T3T1 sum(T2,T3);double d1,d2;则下列调用中,错误的是A.sumdouble,double,double(d1,d2);B.sumdouble,double(d1,d2);C.sumdouble(d1,d2);D.sum(d1,d2);
有如下模板声明:templatetypename T1,typename 12class A;下列声明中,与上述声明不等价的是A.templateclass T1,class T2class A;B.templateclass T1,typename T2class A;C.templatetypename TI,class T2class A;D.templatetypename T1,T2class A;
下列对模板的声明中正确的是()。A.templateB.templateC.template 下列对模板的声明中正确的是( )。A.template<T>B.template<class T1,T2>C.template<classT1,class T2>D.template<class T1;class T2>
下列模板的声明中,正确是A.templateB.templateC.templateD. 下列模板的声明中,正确是A.template<T>B.template<class T1,T2>C.template<class T1,class T2>D.template<class T1 ;class T2>
下面不属于同一函数模板的是()。A.template t1 max(t1 a,t1 b) {…}template 下面不属于同一函数模板的是( )。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){…}
当运算符重载为成员函数时,如果函数参数表中没有参数,则表明该重载为单目运算符,操作数就为该对象本身;如果函数参数表中有一个参数,则表示该重载为双目运算符,另外一个操作数为该对象本身。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;
下列对模板的声明,正确的是()。A.templateB.templateC.template 下列对模板的声明,正确的是( )。A.template<T>B.template<class T1,T2>C.template<class T1,class T2>D.template<class T1;class T2>
下面对模板的声明正确的是 ______。A.templateB.templateC.template 下面对模板的声明正确的是 ______。A.template<T>B.template<class T1,T2>C.template<classT1,classT2>D.template<classT1; classT2>
下列的模板说明中,正确的是( )。A.template B.template C.template 下列的模板说明中,正确的是( )。A.template <T1,T2>B.template <class T1,T2>C.template <class T1,class T2>D.template <typename T1;typename T2>
以下对模板的说明,正确的是()。A.templateB.templateC.template 以下对模板的说明,正确的是( )。A.template<T>B.template<classT1,T2>C.template<class T1,class T2>D.template<class T1;class T2>
下列对模板的声明中正确的是A.templateB.templateC.template 下列对模板的声明中正确的是A.template<T>B.template<class T1,T2>C.template<class T1,class T2>D.template<class T1;class T2>
下列对模板的声明中,正确的是A.templateB.templateC.template 下列对模板的声明中,正确的是A.template<T>B.template<class T1,T2>C.template<classT1,class T2>D.template<classT1;class T2>
有如下模板声明: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;
下面的程序段中,有()处错误。template T2 func(T1 a,b){return(a>b) ?(a) :(b) ;}A. 下面的程序段中,有( )处错误。 template <class T1,T2> T2 func(T1 a,b) { return (a>b) ?(a) :(b) ; }A.1B.2C.3D.4
在下列源代码文件Test.java中, ( )是正确的类定义。A.public class test{B.public class Test{ public int x=0;public int x=0; public test (intx) public Test (int x){ {this.x=x; this.x=x;} }} }C.public class Test extends T1,T2{D.protected class Test extends T2{ public int=0;public int x=0; public Test(int x){Public Test (int x){ this.x=x;this.x=x: }} }}
下列对模板的声明中正确的是A.templateB.templateC.templateD 下列对模板的声明中正确的是A.template<T>B.template<class T1,T2>C.template<classT1,classT2>D.template<classT1;classT2>
在下列模板说明中,正确的是()A、template〈typename T1,T2〉B、template〈class T1,T2〉C、template〈typename T1,typename T2〉D、template(typedef T1,typedef T2)
单选题在下列模板说明中,正确的是()Atemplate〈typename T1,T2〉Btemplate〈class T1,T2〉Ctemplate〈typename T1,typename T2〉Dtemplate(typedef T1,typedef T2)
单选题下列对模板的声明中,正确的是( )。Atemplate<T>Btemplate<class T1,T2>Ctemplate<class T1,class T2>Dtemplate<class T1;class T2>
单选题已知主函数中通过如下语句序列实现对函数模板swap的调用:int a[10],b[10];swap(a,b,10);下列对函数模板swap的声明中,会导致上述语句序列发生编译错误的是( )。Atemplatetypename Tvoid swap(T a[],T b[],int size);Btemplatetypename Tvoid swap(int size,T a[],T b[]);Ctemplatetypename T1,typename T2void swap(T1 a[],T2 b[],int size);Dtemplateclass T1,class T2void swap(T1 all,T2 b[],int size);