更多"类模板template<class T>class 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>);
[单项选择]当在使用类模板时,类模板本身被实例化咸了一个具体的 ______。
A. 对象
B. 实例
C. 模板类
D. 类
[单项选择]有如下类模板定义:
template<typename T>
class BigNumbei
long n;
public;
BigNumber(T i):n(i)
BigNumber operator+(BigNumber b)
return:BigNumber(n+b.n);
;
已知b1、b2是BigNumber的两个对象,则下列表达中错误的是( )。
A. b1+b2
B. b1+3
C. 3+b1
D. 3+3
[单项选择]有如下类模板定义:
template <typename T>
class BigNumber
longn;
public:
BigNumber(T i):n(i)
BigNumber operator +(BigNumber b)
return BigNumber(n+b.n);
;
已知b1、b2是BigNumber的两个对象, 则下列表达式中错误的是
A. b1+b2
B. b1+3
C. 3+b1
D. 3+3
[填空题]有如下的类模板定义:
template<typename TYPE>
class MyClass
TYPE n;
public:
MyClass(TYPE k);
;
其中构造函数MyClass用的值初始化数据成员n。因此在模板类体外,构造函数MyClass应定义_____。
[填空题]有如下的类模板定义:
template<typename TYPE>
class MyClass {
TYPE n;
public:
MyClass(TYPE k);
};
其中构造函数MyClass用的值初始化数据成员n。因此在模板类体外,构造函数MyClass应定义_____。
[填空题]下面是复数类complex的定义,其中作为友元函数重载的运算符“--”的功能是将参数对象的实部减1,然后返回对该对象的引用;请补充完整。
class complex
{
private:
int real;
int imag;
public:
complex(int r=0,int i=0):real(r),imag(i){}
void show ( )
{
cout<<real<<(imag<0"-":"+")<<imag<<’i’;
}
______;
};
complex& operator -- (complex &c)
{
c.real --;
return c;
}
[单项选择]一个类的友元函数或友元类能够通过成员操作符访问该类的( )。
A. 私有成员
B. 保护成员
C. 公有成员
D. 公用成员、保护成员和私有成员
[单项选择]类A是类B的友元,类B是类C的友元,则下列说法正确的是
A. 类B是类A的友元
B. 类C是类A的友元
C. 类A是类C的友元
D. 以上都不对
[填空题]
请将下列模板类Data补充完整。
template
class Data{
public:
void put (T v) { val=v; }
【15】 get( ) //返回数据成员val的值,返回类型不加转换
{ return val; }
private:
T val;
};
[单项选择]下列程序的运行结果为
#include<iostream,h>
Template class TT>
class FF
TT a1,a2,a3;
public;
FF(TTb1,TTb2,TTb3)a1=b1;a2=b2;a3=b3;
TT Sum( )return a1+a2+a3;;
void main( )
FF<int>x(in[(1.1),2,3),y(int(4.2),5,6);
cout <<x.Sum( ) <<‘‘ <<y.Sum( ) <<end1;
A. 6.1 15.2
B. 6 15
C. 615.2
D. 6.1 15