工学

单选题以下意图哪个是用来描述TEMPLATE METHOD(模板方法)?()A 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中B 为其他对象提供一种代理以控制对这个对象的访问C 将抽象部分与它的实现部分分离,使它们都可以独立地变化D 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系

题目
单选题
以下意图哪个是用来描述TEMPLATE METHOD(模板方法)?()
A

定义一个操作中的算法的骨架,而将一些步骤延迟到子类中

B

为其他对象提供一种代理以控制对这个对象的访问

C

将抽象部分与它的实现部分分离,使它们都可以独立地变化

D

使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列对模板的声明,正确的是()。A.templateB.templateC.template

下列对模板的声明,正确的是( )。

A.template<T>

B.template<classT1,T2>

C.template<class T1,classT2>

D.template<class T1;class T2>


正确答案:C
解析:模板定义的类型参数表>中包含一个或多个由逗号分隔的类型参数项,每一项由关键字class后跟一个用户命名的标识符,此标识符为类型参数,它不是一种数据类型,但可以同一般数据类型一样使用。在使用类模板时,必须将其实例化,即用实际的数据类型代替它。

第2题:

下面的函数模板定义中错误的是A.template q F(Q x) {return Q+x;}B.template

下面的函数模板定义中错误的是

A.template <class Q> q F(Q x) {return Q+x;}

B.template <class Q> Q F(Q x){return x+x;}

C.template <class T> T F(Tx){return x*x;}

D.template <class T> bool F(Tx){return x>1;}


正确答案:A
解析:本题考核函数模板的定义。模板定义的类型参数表>中包含一个或多个由逗号分隔的类型参数项,每一项由关键字class后跟一个用户命名的标识符,此标识符为类型参数,它不是一种数据类型。A) 选项中标识符Q作为类型参数,不能用作数据类型参与"Q+x"的运算。

第3题:

下列是模板声明的开始部分,其中正确的是A.templateB.templateC.template

下列是模板声明的开始部分,其中正确的是

A.template<T>

B.template<class T1,T2>

C.template<class T1,class T2>

D.template<class T1;class T2>


正确答案:C
解析:本题考核模板的声明。模板声明的开始部分为:template类型形参表>。其中,类型形参表>可以包含基本数据类型,也可以包含类类型。类型形参需要加前缀class。如果类型形参多于一个,则每个类型形参都要使用class。形参表中的参数是惟一的,而且至少在函数定义体中出现厂次。形参表中至少有一个形参的类型必须用类型形参表>中的形参来定义。所以只有C选项的声明是正确的。

第4题:

下面的函数模板定义中错误的是()。A.templateB.template QF(Qx){return Q-x;}

下面的函数模板定义中错误的是( )。

A.template<class Q>

B.template<class Q> QF(Qx){return Q-x;} QF(Qx){return x+x;}

C.template<class T>

D.template<class T> TF(Tx){return x*x;} boolP(Tx){return X>1;)


正确答案:A

第5题:

下列对模板的声明中正确的是()。A.templateB.templateC.template

下列对模板的声明中正确的是( )。

A.template<T>

B.template<class T1,T2>

C.template<classT1,class T2>

D.template<class T1;class T2>


正确答案:C

第6题:

下列对模板的声明中,正确的是A.templateB.templateC.template

下列对模板的声明中,正确的是

A.template<T>

B.template<class T1,T2>

C.template<class T1,class T2>

D.tamplate<class T1;class T2>


正确答案:C
解析:本题考核模板的定义。模板定义的类型参数表>中包含一个或多个由逗号分隔的类型参数项,每一项由关键字class后跟一个用户命名的标识符,此标识符为类型参数,它不是一种数据类型,但可以同一般数据类型一样使用。在使用类模板时,必须将其实例化,即用实际的数据类型代替它。

第7题:

下列关于模板形参的描述中,错误的是

A.模板形参表必须在关键字template之后

B.模板形参表必须用括弧()括起来

C.可以用class修饰模板形参

D.可以用typename修饰模板形参


正确答案:B
解析:模板参数位于函数模板名称的前面,在一对尖括号内部进行声明,如:template<typename T>//T是模板参数在函数模板内部,不能指定缺省的模板实参。根据以上定义可知选项B)是错误的。

第8题:

( 15 )下列关于模板形参的描述中,错误的是

A )模板形参表必须在关键字 template 之后

B )模板形参表必须用括弧 ( ) 括起来

C )可以用 class 修饰模板形参

D )可以用 typename 修饰模板形参


正确答案:B

第9题:

下列对模板的声明,正确的是()。A.templateB.templateC.template

下列对模板的声明,正确的是( )。

A.template<T>

B.template<class T1,T2>

C.template<class T1,class T2>

D.template<class T1;class T2>


正确答案:C

第10题:

下面对模板的声明正确的是 ______。A.templateB.templateC.template

下面对模板的声明正确的是 ______。

A.template<T>

B.template<class T1,T2>

C.template<classT1,classT2>

D.template<classT1; classT2>


正确答案:C

更多相关问题