C)虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参
D)模板参数表不能为空
(16)要建立文件流并打开当前目录下的文件 file.dat 用于输入,下列语句中错误的是
A)ifstreamfin=ifstream.open(“file.dat”);
B)ifstream*fir.=newifstream(“file.dat”);
C)ifstreamfin;fin.open(“file.dat”);
D)ifstream*fin=newifstream();fin 一>open(“file.dat”);
(17)下列描述中,不属于面向对象思想主要特征的是
A)封装性
B)跨平台性
C)继承性
D)多态性
(18)有如下程序段:
Tnti=4;intj=l;
intmain(){
inti=8,j=i;
cout<
B)strcpy(a[2],“WIN”)
C)a[2][3]='W'
D)a[0][1]=a[0][1]
(21)已知函数 fun 的原型为
intfun(int,int,int);
下列重载函数原型中错误的是
A)charfun(int,int);
B)doublefun(int,int,double);
C)intfun(int,char*);
D)floatfun(int,int,int);
(22)建立一个类对象时,系统自动调用
A)析构函数
B)构造函数
C)静态函数
D)友元函数
(23)通过派生类的对象可直接访问其
A)公有继承基类的公有成员
B)公有继承基类的私有成员
C)私有继承基类的公有成员
D)私有继承基类的私有成员
(24)己知表达式++a 中的“++”是作为成员函数重载的运算符,则与十+a 等效的运算符函数调用形式为
A)a.orerator++(1)
B)operator++(a)
C)operator++(a,l)
D)a.operator++()
(25)在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是
A)()
B)[]
C)<>
D){}
(26)当使用 ifstream 流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为
A)ios_base::in
B)ios_base::in|ios_base::out
C)ios_base::out
D)ios_base::in&ios_base::out
5
(27)有如下程序:
#include
#include
usingnamespacestd;
classXCD{
char*a;
intb;
public:
XCD(char*aa,intbb){
a=newchar[strlen(aa)+1];
strcpty(a,aa);
b=bb;
}
Char*Geta(){returna;)
intGetb(){returnb;}
};
intmain(){
char*pl=“abcd”,*p2=“weirong”;
intdl=6,d2=8;
XCDx(pl,dl),Y(p2,d2);
cout<
#include
usingnamespacestd;
classXCF{
inta;
public:
6
intn;
voidsetK(intk){this->k=k;}
public:
voidsetN(intn){this->n=n;}
};
classBB:public}{/*类体略*/};
intmain(){
BBx_;//1
x.n=1;//2
x.setN(2);//3
x.k=3;//4
x.setK(4);
return0;
}
在标注号码的四条语句中正确的是
A)1
B)2
C)3
D)4
(31)有如下类定义:
classXX{
intxx;
public:
XX():xx(0){cout<<'A';}
XX(intn):xx(n){tout<<'B';}
};
ClassYY:publicXX{
Intyy;
public:
YY():yy(0){cout+yy;}
YY(intn):XX(n+1),yy(n){cout<