新浪博客

2016-2017面向对象程序设计试卷(A)

2018-06-25 09:53阅读:
一、单项选择题(每题2分,总计20分)
1.
若定义语句为const char *ptr; , ptr应该是______
A. 指向字符变量的指针 B. 指向字符的常量指针
C. 指向字符串常量的指针 D. 指向字符串的常量指针
2.
对定义重载函数的下列要求中,_____是错误的。
A. 要求参数的个数不同
B. 要求参数中至少有一个类型不同
C. 要求参数个数相同时,参数类型不同
D. 要求函数的返回值不同
3.
有以下类的说明,请指出ABCD四个语句错误的是_____
class CSample
{ int a=2.5; //A
CSample( ); //B
public:
CSample(int val); //C
~CSample( ); //D
};
4.
一个类的友元函数能够访问该类的_____
A. 私有成员
B. 保护成员
C. 公有成员
D. 所有成员
5.
下列运算符中,_____运算符在C++中不能重载。
A. ?: B. + C. – D. <=
6.
以下对模板的说明,正确的是_____
A. template B. template
C. template D. template
7.
关于多继承二义性的描述中,_____是错误的。
A. 一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性
B. 解决二义性的最常用的方法是对成员名的限定
C. 基类和派生类中出现同名函数,也存在二义性问题
D. 一个派生类是从两个基类派生来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,也可能出现二义性
8.
以下基类中的成员函数,哪个表示纯虚函数_____
A. virtual void vf(int); B. void vf(int)=0;
C. virtual void vf()=0; D. virtual void vf(int){ }
9.
C++中,打开一个文件就是将这个文件与一个_____建立关联;关闭一个文件就取消这种关联。
A. B. C. 对象 D. 结构
10
现有语句int iarray[] = { 0, 1, 2, 3, 4, 5, 6, 6, 6, 7, 8 };
vector ivector(iarray, iarray + sizeof(iarray) / sizeof(int));
请问要找出ivector之中小于7的元素个数,采用下面哪个算法_____
A. find_if B. count C. sort D. count_if
二、程序填空题(每空2分,总计20分)
1.
请在下面程序的横线处填上适当内容,以使程序完整,并使运行结果为:2/10/2004
#include
static int dys[]={31,28,31,30,31,30,31,31,30,31,30,31};
class date
{ int mo,da,yr;
public:
date(int m,int d,int y) {mo=m;da=d;yr=y;}
date() {}
void disp() {cout<<mo<<'/'<<da<<'/'<<yr<<endl;}
friend date operator+(_____(1)_____)
{ date dt;
dt.mo=d.mo;
dt.yr=d.yr;
day+=d.da;
while(_____(2)_____)
{ if(dt.yr%4==0&&dt.yr0!=0||dt.yr@0==0)
dys[1]=29;
else dys[1]=28;
day-=dys[dt.mo-1];
if(++dt.mo==13)
{ dt.mo=1;
dt.yr++;
}
}
dt.da=day;
return dt;
}
};
int main()
{ date d1(2,10,2003),d2;
d2=d1+365;
d2.disp();
}
2.
请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为: n=30
#include
template
class Sample
{ T n;
public:
Sample(){}
Sample(T i){n=i;}
Sample operator+(const Sample &);
void disp(){cout<<'n='<<n<<endl;}
};
template
Sample Sample::operator+(const Sample &s)
{ Sample temp;
_______(3)_______;
return temp;
}
int main()
{ Sample s1(10),s2(20),s3;
s3=s1+s2;
_______(4)_______;
}

3.
请在下面程序的横线处填上适当字句,以使程序完整

我的更多文章

下载客户端阅读体验更佳

APP专享