更多"有如下的类的模板定义:
template <class T>
"的相关试题:
[单项选择]有如下类模板定义:
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 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应定义_____。
[单项选择]假设有函数模板定义如下,下列各选项中正确的是( )。
Template <class T>
T Max(T a,T b,T c)
if(a<b)
if(b<c)
return c;
else
return b;
else if(a<c)
return c;
else
return a;
A. float x,y,z;float max;max=Max(x,y,z);
B. float x;int y,z;float max;max=Max(x,y,z);
C. float x;double y,z;float max;max=Max(x,y,z);
D. 三个选项都正确
[填空题]有如下的类模板定义:
template<typenameTYPE>
classMyClass{
TYPE n;
public:
MyClass(TYPE k);
…
};
其中构造函数MyClass用的值初始化数据成员n。因此在模板类体外,构造函数MyClass应定义______。
[单项选择]对于模板定义关键字class和typename说法不正确的是( )。
A. 程序中的class并不能都替换为typename
B. class和typename都可互相替换
C. 程序中的typename都能替换为class
D. 程序中的部分class可以替换为typename
[填空题]补充完整下面的模板定义:
template<class Type> //Type为类型参数
class Xtwo{ //由两个Type类型的数据成员构成的模板类
Type a;
Type b;
public:
Xtwo(Type aa=0,Type bb=0):a(aA) ,b(bB) { }
int Compare( ){ //比较a和b的大小
if(a>B) return 1;
else if(a==B) return 0;
else return-1;
}
Type Sum( ){return a+b;} //返回a和b之和
Type Mult( ); //函数声明,返回a和b之乘积
};
template<class Type>
______ ::Mult( ){return a*b;} //Mult函数的类外定义
[填空题]类模板成员函数体外定义时,必须用与声明该类模板一样的template < class模板形参 >声明,使它成为 【15】 。
[单项选择]有如下类定义和变量定义:
class Parents
public:
int publicData:
private:
int privateData;
;
class ChildA:public Parents/类体略*/;
class ChildB:private Parents/类体略*/;
ChildA a;
ChildB b;
下列语句中正确的是
A. cout<<a.publicData<<endl;
B. cout<<a.privateData<<endl;
C. cout<<b.publieData<<endl;
D. eout<<b.privateData<<endl;
[单项选择]有如下类定义:
class Animal{
public:
virtual void Name( )=0;
};
class Koala:public Animal{
public:
void Name( ){/*函数体略*/}
};
关于上述类定义,下列描述中错误的是
A. 类Koala是类Animal的派生类
B. 类Koala中的Name函数是一个虚函数
C. 类Animal中的Name函数是一个纯虚函数
D. 语句"Animal a;"能够建立类Animal的一个对象a
[单项选择]有如下类定义:
class MyBase{
int k;
public:
MyBase(int n=0):k(n)}
int value( )const{return k;}
} ;
class MyDerived:My Base{
int j;
public:
MyDerived(int i):j(i){}
iny getK( )const{return k;}
int getJ( )const{return j;}
}
编译时发现有一处语法错误,对这个错误最准确的描述是【 】
A. 函数getK试图访问基类的私有成员变量k
B. 在类MyDerived的定义中,基类名MyBase前缺少关键字public、protected或private
C. 类MyDerived缺少一个无参的构造函数
D. 类MyDerived的构造函数没有对基类数据成员k进行初始化