单选题关于关键字class和typename,下列表述中正确的是(  )。A程序中的typename都可以替换为classB程序中的class都可以替换为typenameC在模板形参表中只能用typename来声明参数的类型D在模板形参表中只能用class或typename来声明参数的类型

单选题
关于关键字class和typename,下列表述中正确的是(  )。
A

程序中的typename都可以替换为class

B

程序中的class都可以替换为typename

C

在模板形参表中只能用typename来声明参数的类型

D

在模板形参表中只能用class或typename来声明参数的类型


参考解析

解析:
关键字class除了能用来定义类以外还能用来声明模板的虚拟类型参数,在用作声明虚拟类型参数时typename与class可以互换,但不能使用typename来定义类,因此程序中的typename都可以替换为class,而定义类的地方只能用class,不能用typename。在模板形参表中除了可以用typename和class声明虚拟类型参数外,还可以使用普通类型声明常规函数。

相关考题:

关于关键字class 和typename,下列表述中正确的是______。A.程序中的typename 都可以替换为classB.程序中的class 都可以替换为typenameC.在模板形参表中只能用typename 来声明参数的类型D.在模板形参表中只能用class 或typename 来声明参数的类型

( 25 )关于关键字 class 和 typename , 下列表述中正确的是A ) 程序中的 typename 都可以替换为 classB ) 程序中的 class 都可以替换为 typenameC ) 在模板形参表中只能用 typename 来声明参数的类型D ) 在模板形参表中只能用 class 或 typename 来声明参数的类型

对于模板定义关键字class和typename说法不正确的是( )。A.程序中的class并不能都替换为typenameB.class和typename都可互相替换C.程序中的typename都能替换为ClassD.程序中的部分class可以替换为typename

下列关于模板的叙述中,错误的是( )。A.调用模板函数时,在一定条件下可以省略模板实参B.可以用int、double这样的类型修饰符来声明模板参数C.模板声明中的关键字class都可以用关键字typename替代D.模板的形参表中可以有多个参数

下列模板声明中,有语法错误的是( )。A.templateT fun(T x){return x;}B.template 下列模板声明中,有语法错误的是( )。A.template<typename T>T fun(T x){return x;}B.template<typename T>T fun(T x,int n){return x*n;}C.template<class T>T fun(T*p){return *p;}D.template<class T>T ClassA{T n;}

关于关键字class和typename,下列表述正确的是A.程序中所有的typename都可以替换为classB.程序中所有的class都可以替换为typenameC.A)和B)都正确D.A)和B)都不正确

关于关键字class和typename,下列描述正确的是( )。A.程序中所有的class都可以替换为typenameB.程序中所有的typename都可以替换为classC.A和B都可以D.A和B都不可以

( 15 )下列关于模板形参的描述中,错误的是A )模板形参表必须在关键字 template 之后B )模板形参表必须用括弧 ( ) 括起来C )可以用 class 修饰模板形参D )可以用 typename 修饰模板形参

( 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;

关键字class和typename用于定义模板类型参数,其含义为()。A、任何用户定义的类类型B、C++内部的类型C、A与BD、都不是

关于关键字class和typename,下列说法中正确的是A.程序中所有的typename都可以替换为classB.程序中所有的class都可以替换为typenameC.A)和B)都正确D.A)和B)都不正确

下列关于模板形参的描述中,错误的是A.模板形参表必须在关键字template之后B.模板形参表必须用括弧()括起来C.可以用class修饰模板形参D.可以用typename修饰模板形参

有如下模板声明: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;

关于关键字class和typename,下列描述中正确的是( )。A.程序中所有的class都可以替换为typenameB.程序中所有的typename都可以替换为classC.选项A)和B)都正确D.选项A)和B)都错误

下列选项中,用于实现接口的关键字是 ( )A.interfaceB.implementsC.abstractD.class

当运算符重载为成员函数时,如果函数参数表中没有参数,则表明该重载为单目运算符,操作数就为该对象本身;如果函数参数表中有一个参数,则表示该重载为双目运算符,另外一个操作数为该对象本身。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;

对于模板定义关键宁class和typename说法不正确的是( )。A.程序中的class并不能都替换为typenameB.class和typename都可互相替换C.程序中的typename都能替换为classD.程序中的部分class可以替换为typename

关于关键字class和typename,下列表述中正确的是( )。 A. 程序中的typename都可以替换为classS 关于关键字class和typename,下列表述中正确的是( )。A. 程序中的typename都可以替换为classB.程序中的class都可以替换为typenameC.在模板形参表中只能用{ypename来声明参数的类型D.在模板形参表中只能用class或typenanle来声明参数的类型

下列的模板说明中,正确的是( )。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.模板形参表必须在关键字template之后B.模板形参表必须在关键字template之后C.可以用class修饰模板形参D.可以用typename修饰模板形参

有如下模板声明: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;

下列关于函数模板的定义中,合法的是()。A.template class T abs(T z) {return z 下列关于函数模板的定义中,合法的是( )。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;}

在下列模板说明中,正确的是()A、template〈typename T1,T2〉B、template〈class T1,T2〉C、template〈typename T1,typename T2〉D、template(typedef T1,typedef T2)

下列关于类和接口的注释,正确的说法有()A、放在class或者interface关键字之前B、放在import关键字之后C、注释主要是一句话功能简述与功能详细描述D、类注释使用“/****/”注释方式

单选题在下列模板说明中,正确的是()Atemplate〈typename T1,T2〉Btemplate〈class T1,T2〉Ctemplate〈typename T1,typename T2〉Dtemplate(typedef T1,typedef T2)

多选题下列关于类和接口的注释,正确的说法有()A放在class或者interface关键字之前B放在import关键字之后C注释主要是一句话功能简述与功能详细描述D类注释使用“/****/”注释方式

单选题下列关于模板的描述中,错误的是(  )。A类模板的成员函数都是模板函数B函数模板是一种参数化类型的函数C满足一定条件时可以省略模板实参D模板形参只能由关键字typename声明

单选题有如下模板声明: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;