更多"有如下的类模板定义:
template<typename TYPE"的相关试题:
[填空题]有如下的类模板定义:
template<typename TYPE>
class MyClass
TYPE n;
public:
MyClass(TYPE k);
;
其中构造函数MyClass用的值初始化数据成员n。因此在模板类体外,构造函数MyClass应定义_____。
[单项选择]有如下类模板定义:
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 T1,typename T2,typename T3>
T2 plus T1 t1,T3 t3)return t1+t3;
则以下调用中正确是
A. plus(3,5L);
B. plus<>(3,5L);
C. plus<int>(3,5L);
D. plus<int,double>(3,5L);
[单项选择]有如下函数模板定义:
template<typename T1, typename T2>
T1 FUN(T2 n) return n*5.0;
若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为( )。
A. FUN(9)
B. FUN<9>
C. FUN<double>(9)
D. FUN<9>(double)
[单项选择]有如下函数模板:
template < typename T, typename U >
Tcast(U u) returnu;
其功能是将U类型数据转换为T类型数据。已知i为int型变量,下列对模板函数cast的调用中正确的是( )。
A. cast(i) ;
B. cast< > (i);
C. cast < char * , int > (i) ;
D. cast < double, int > (i) ;
[单项选择]有如下函数模板定义:
template<typename T1,int a2,int a3>
T1 sum(T1 a1)
return(a1+a2+a3);
则以下调用中正确的是( )。
A. sum<int,4,3>(5);
B. sum<4,3>(5);
C. sum<int,int,int>(5);
D. sum(5);
[填空题]已知一个函数模板定义为
template<typename T1,typename T2>
T1 FUN(T2 n){return n*5.0;}
若要求以int型数据7为函数实参调用该模板函数,并返回一个double型数据,则该调用应表示为 【15】 。
[填空题]类模板成员函数体外定义时,必须用与声明该类模板一样的template < class模板形参 >声明,使它成为 【15】 。
[单项选择]有如下函数模板定义:
template <typename T1,int a2,int a3>
T1 sum(T1 a1)
return (a1+a2+a3);
则以下调用中正确的是( )。
A. sum <int,4,3>(5);
B. sum <4,3>(5);
C. sum <int,int,int>(5);
D. sum(5);
[填空题]请将下列模板类Data补充完整。
template <typename T>
class Data
public:
void put(T v)val=v;
______get( )return val; //返回数据成员val的值,返回类型不加转换
private:
T val;
;
[填空题]下面程序是一个堆栈的类模板,在横线处填上适当语句,完成类模板的定义。
#define MAXSIZE 100
template <class T>
class Stack
T s[MAXSIZE];
int top;
public:
stack( )
top=1;
void push(T newValue)
if(top<MAXSIZE)
top=top+1;
s[top]=newValue;
else
cout<<"堆栈满,无法进栈"<<end1;
void pop( );
;
【12】
if(top>1)
cout<<s[top]<<end1;
top=top-1;
else
cout<<"堆栈空! "<<end1;
[填空题]下面程序是一个堆栈的类模板,在横线处填上适当语句,完成类模板的定义。
#define MAXSIZE 100
template <class T>
class Stack
{
T s[MAXSIZE];
int top;
public:
stack( )
{
top=1;
}
void push(T newValue)
{
if(top<MAXSIZE)
{
top=top+1;
s[top]=newValue;
}
else
cout<<"堆栈满,无法进栈"<<end1;
}
void pop( );
};
【12】
{
if(top>1)
{
cout<<s[top]<<end1;
top=top-1;
}
else
cout<<"堆栈空! "<<end1;
}
[单项选择]有如下函数模板:
template <typename T,typename U>
T cast(U u)return u;
其功能是将U类型数据转换为T类型数据。已知i为int型变量,下列对模板函数cast的调用中正确的是( )。
A. cast(i);
B. cast<>(i);
C. cast<char*,int>(i);
D. cast<double,int>(i);