D:
cint>>stu;
答案:
B
第13题(1.0分)题号:
2423
若有以下说明和语句,则____是对数组元素的错误引用.
inta[]={1,2,3,4,5,6,7,8,9,0},*p=a,i=2;
A:
*(a+i)
B:
a[p-a]
C:
p+i
D:
*(&a[i])
答案:
C
第14题(1.0分)题号:
3140
语句float(*p)(int,int)的作用是____.
A:
函数原型说明
B:
定义变量
C:
函数定义
D:
函数调用
答案:
B
第15题(1.0分)题号:
3905
下面有关类的构造函数与析构函数的叙述中,正确的是____.
A:
同一个类的析构函数只能有一个
B:
同一个类的构造函数只能有一个
C:
同一类的析构函数可定义多个
D:
类的构造函数名可任意定义
答案:
A
第16题(1.0分)题号:
4326
对于类A的对象的说明中,肯定不正确的是______
A:
Aa1;
B:
Aa2(15);
C:
A*p=newA;
D:
Aa3();
答案:
D
第17题(1.0分)题号:
3213
在类说明时可以用于修饰其成员的关键字是____.
A:
extern
B:
auto
C:
static
D:
register
答案:
C
第18题(1.0分)题号:
3628
设有基类定义:
classCbase{
private:
inta;
protected:
intb;
public:
intc;
};派生类采用何种继承方式可以使成员变量b成为自己的私有成员____.
A:
私有继承
B:
保护继承
C:
公有继承
D:
私有、保护、公有继承均可
答案:
A
第19题(1.0分)题号:
3643
下列叙述正确的是____.
A:
虚函数必须是类的成员函数
B:
只要是类的成员函数就可声明为虚函数
C:
含有纯虚函数的类是不可以用来创建对象的,因为它是虚基类
D:
静态数据成员可以通过构造函数来初始化
答案:
A
第20题(1.0分)题号:
4339
下列运算符的重载函数至少有一个参数________。
A:
=
B:
类型转换运算符
C:
++
D:
!
答案:
A
三、程序填空共2题(共计16分)
第1题(8.0分)题号:
633
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
下列程序将类String的对象转换为一个整数。
如将类String的对象st的成员数据字符串“0123”转换成整数123。
请填空完善。
-------------------------------------------------------*/
#include
#include
classString{
char*s;
public:
String(char*str=0)
{s=newchar[strlen(str)+1];strcpy(s,str);}
~String(){if(s)delete[]s;}
voidshow(){cout<
/***********SPACE***********/
【?
】;//转换函数原型说明
};
/***********SPACE***********/
【?
】//定义转换函数
{intn=strlen(s),m=0;
for(inti=n-1,j=0;i>=0;i--)
{intt=s[j++]-'0';m=m*10+t;}
/***********SPACE***********/
【?
】;
}
voidmain()
{Stringst("0123");
st.show();
intx;
/***********SPACE***********/
【?
】;//将转换来的整数存入x
cout<}
答案:
1).operatorint()
2).String:
:
operatorint()
3).returnm
4).x=st.operatorint()
第2题(8.0分)题号:
337
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:
将N(N<100)个元素的一维数组循环向左移位
(即将每一个元素向前移动一位,第一位移到最后一位。
-------------------------------------------------------*/
#include
voidmain()
{
inta[100],n,b,i;
cin>>n;
/***********SPACE***********/
for(i=0;i<【?
】;i++)
cin>>a[i];
/***********SPACE***********/
b=【?
】;
/***********SPACE***********/
for(【?
】)
a[i-1]=a[i];
/***********SPACE***********/
【?
】;
for(i=0;icout<}
答案:
1).n
2).a[0]
3).i=1;i4).a[n-1]=b或a[i-1]=b