类模板template<class T>class x{…},其中友元函数f对特定类型T(如int),使函数f(x<int>)成为x<int

题目
类模板templateclass x{…},其中友元函数f对特定类型T(如int),使函数f(x)成为x

类模板template<class T>class x{…},其中友元函数f对特定类型T(如int),使函数f(x<int>)成为x<int>模板类的友元,则其说明为( )。

A.friend voidf();

B.friend voidf(x<T>);

C.friend voidA::f();

D.friend void C<T>::f(x<T>);

参考答案和解析
正确答案:B
解析: 声明一个函数模板的格式:template模板形参表声明>函数声明。调用模板函数时,如果与模板实参中最后的若干个参数有关的信息可以从模板函数的实参中获得,则相关的模板实参可以省略。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列程序段执行结果是___________。 x = 1 print(type(x)) x = 1.0 print(type(x)) x = '1.0' print(type(x)

A.<class 'int'> <class 'float'> <class 'str'>

B.<class 'float'> <class 'int'> <class 'str'>

C.<class 'str'> <class 'float'> <class 'int'>

D.<class 'str'> <class 'int'> <class 'float'>


C.循环执行1次

第2题:

00330038003000301585067361821下列程序段执行结果是___________。 x = 1 print(type(x)) x = 1.0 print(type(x)) x = '1.0' print(type(x)

A.<class 'int'> <class 'float'> <class 'str'>

B.<class 'float'> <class 'int'> <class 'str'>

C.<class 'str'> <class 'float'> <class 'int'>

D.<class 'str'> <class 'int'> <class 'float'>


A

第3题:

类模板templateclass x{...},其中友元函数f对特定类型T(如int),使函数f(x)成为x

类模板template<class T>class x{...},其中友元函数f对特定类型T(如int),使函数f(x<int>)成为x<int>模板类的友元,则其说明为( )。

A.friend voidf();

B.friend voidf(x<T>);

C.friend voidA::f();

D.friend void C<T>::f(x<T>);


正确答案:B
解析:声明一个函数模板的格式:template棋板形参表声明>函数声明。调用模板函数时,如果与模板实参中最后的若干个参数有关的信息可以从模板函数的实参中获得,则相关的模板实参可以省略。

第4题:

类模板templateclass x(…),其中,友元函数f成为从该类模板实例化的每个模板类的友元,则

类模板template<class T>class x(…),其中,友元函数f成为从该类模板实例化的每个模板类的友元,则其说明应为( )。

A.friend void f();

B.friend void f(x<T>&)

C.friend void A::f();

D.friend void C<T>::f(x<T>&):


正确答案:A

第5题:

类模板template<classT>classX{…},其中友元函数f对特定类型T(如int),使函数f(x<int>)成为x<int>模板类的友元,则其说明为( )。

A.friendvoidf();

B.friendvoidf(x<T>);

C.friendvoidA::f();

D.friendvoidC<T>::f(x<T>);


正确答案:B
B。【解析】声明一个函数模板的格式template<模板形参表声明>函数声明。调用模板函数时,如果与模板实参中最后的若干个参数有关的信息可以从模板函数的实参中获得,则相关的模板实参可以省略。

第6题:

主调函数中的两个变量a和b,要求调用函数交换a、b值,返回交换结果,则以下正确的函数是______。

A.funa(int*x,int*y) { int*p; *p=*x;*x=*y;*y=*p; }

B.funb (int x,int y) {int t;t=x;x=y;y=t;}

C.func(int *x,int*y) {*X=*y;*y=*x;}

D.fund(int *x,int *y) {*x=*x+*y;*y=*x-*y;*x=*x-*y;}


正确答案:D

第7题:

主调函数中的两个变量a和b,要求调用函数交换a、b的值,返回交换结果,则以下正确的函数是______。

A.funa(int*x,int*y) {int*p; *p=*x;*x=*y;*y=*p; }

B.funb(int x,int y) {int t; t=x;x:y=y=t;}

C.func(int*x,int*y) {*x=*y;*y=*x;}

D.fund(int *x,int*y) {*x=*x+*y;*y=*x-*y;*x=*x-*y;}


正确答案:D
解析:选项A中指针变量p没有明确的指向,选项B是值传递方式,显然不能改变实参中的值,选项C不能完成交换,实参中的值都变成一样的,只有选项D是正确的。

第8题:

类模板templateclass x{…},其中,友元函数f对特定类型T(如int),使函数f(x&=成

类模板template<class T>class x{…},其中,友元函数f对特定类型T(如int),使函数f(x<int>&=成为x<int>模板类的友元,则其说明为( )。

A.friend void f();

B.friend void f(x<T>&=;)

C.friend void A::f()

D.friend void C<T>::f(x<T>&=;)


正确答案:B

第9题:

类模板templateclass x{...},其中,友元函数f对特定类型T(如int),使函数 f(x);成为

类模板template<class T>class x{...},其中,友元函数f对特定类型T(如int),使函数 f(x<int>);成为x<int>模板类的友元,则其说明为( )。

A.friend void f();

B.friend void f(x<T>);

C.friend void A:: f()

D.friend void C<D:: f(x<T>);


正确答案:B