07级面向对象程序设计语言A期末考试试题AWord下载.docx
- 文档编号:7943725
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:10
- 大小:67.97KB
07级面向对象程序设计语言A期末考试试题AWord下载.docx
《07级面向对象程序设计语言A期末考试试题AWord下载.docx》由会员分享,可在线阅读,更多相关《07级面向对象程序设计语言A期末考试试题AWord下载.docx(10页珍藏版)》请在冰点文库上搜索。
b);
cout<
<
k<
”,”<
m;
}
(A)0,0(B)0,1(C)1,0(D)1,1
(D)
用函数模板定义的函数没有类型
(3)函数调用func((exp1,exp2),(exp3,exp4,exp5),(exp6,exp4,exp5))中所含实参的个数为()。
(A)1(B)2(C)3(D)4
(4)有如下程序:
#include<
iostream.h>
classBase
{charc;
public:
Base(charn):
c(n){}
virtual~Base(){cout<
c;
}
};
classDerived:
publicBase
{charc;
Derived(charn):
Base(n+1),c(n){}
~Derived(){cout<
intmain()
{Derivedd('
X'
);
return0;
}
执行上面的程序将输出()。
(A)XY(B)YX(C)X(D)Y
(5)若inti=10;
执行下列语句后,i的值是()。
switch(i)
{case9:
i+=1;
case10:
case11:
case12:
(A)10(B)11(C)12(D)13
(6)假定AB为一个类,则执行"
ABx;
"
语句时将自动调用该类的()。
(A)无参构造函数(C)有参构造函数
(B)拷贝构造函数(D)赋值重载函数
(7)若需要使类中的一个指针成员指向一块动态存储空间,则通常在()函数中完成。
(A)析构(B)构造(C)任一成员(D)友元
(8)保护继承时,基类的()在派生类中成为保护成员,不能通过派生类的对象来直接访问该成员。
(A)任何成员(B)公有成员和保护成员
(C)保护成员和私有成员(D)私有成员
(9)声明或定义一个内联函数时,必须在函数开始使用关键字()。
(A)static(B)inline(C)const(D)extern
(10)下列对模板的声明中正确的是()。
(A)template<
T>
(B)template<
classT1,classT2>
(C)template<
classT1,T2>
(D)template<
C1assT1,classT2>
(11)设x和y均为整型变量,则x||y为假的条件是()。
(A)它们均为真(B)其中一个为真
(C)它们均为假(D)其中一个为假
(12)下面的哪个关键字不能作为函数的返回类型?
()
(A)void(B)int(C)new(D)long
(13)假定要对类AB定义加号运算符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为()。
(A)ABoperator+(AB&
a,AB&
b)(B)ABoperator+(AB&
a)
(C)operator+(ABa)(D)AB&
operator+()
(14)对于类中定义的成员,其隐含的访问权限为()。
(A)public(B)protected(C)private(D)static
(15)程序设计所规定的三种基本控制结构是()。
(A)输入、处理、输出(B)树形、网形、环形
(C)顺序、选择、循环(D)主程序、子程序、函数
二.判断题(每小题1分,共12分)
请判断下列语句是否正确,如果正确请在表格题号对应的空白内用笔打上√;
如果错误请在表格题号对应的空白内用笔打上×
。
错打或未打均无分。
()1.创建派生类对象时,先调用派生类的构造函数,再调用基类的构造函数,当销毁这个对象时顺序正好相反,先调用基类的析构函数,再调用派生类的析构函数。
()2.变量分为全局和局部两种,动态局部变量没有赋初值时,其值是不确定的。
()3.模板类的成员函数若在类外实现,则必须是模板函数。
()4.类的静态成员函数可以不属于整个类。
()5.类的友元函数可以访问类的私有成员。
()6.常对象必须进行初始化,而且不能被更新。
()7.需要基类对象的有些地方不可以使用公有派生类的对象来替代。
()8.我们不能用抽象类定义对象,但可以定义抽象类的指针。
()9.虚函数的声明只能出现在类定义中的函数实现中。
()10.基类中某函数声明为纯虚函数之后,基类中就不能给出函数的实现部分。
()11.当一个类的对象离开它的作用域时,系统将自动调用该类的析构函数。
()12.关系表达式x+y>
5的相反表达式为x+y<
=5。
三.读程序写结果(每小题5分,共25分)
阅读以下程序,并写出程序运行结果。
1.#include<
voidmain()
{ints=0;
for(inti=1;
;
i++)
{if(s>
50)break;
if(i%2==0)s+=i;
cout<
i,s="
i<
"
s<
endl;
2.#include<
iomanip.h>
voidLE(int*a,int*b)
{intx=*a;
*a=*b;
*b=x;
*a<
'
'
*b<
{intx=10,y=25;
LE(&
x,&
y);
x<
y<
3.#include<
classSample
{
private:
intx;
staticinty;
Sample(inta)
{x=a;
x++;
y++;
voidprint()
{cout<
x="
y="
intSample:
:
y=10;
{Samples1(20);
Samples2(30);
s1.print();
s2.print();
4.#include<
template<
classTT>
classFF
{TTa1,a2,a3;
public:
FF(TTb1,TTb2,TTb3)
{a1=b1;
a2=b2;
a3=b3;
TTSum(){returna1+a2+a3;
{FF<
int>
x(2,3,4),y(5,7,9);
x.Sum()<
y.Sum();
cout<
5.#include<
classA
A();
A(inti,intj);
voidprint();
private:
inta,b;
A:
A()
{a=b=0;
Defaultconscalled.\n"
;
A(inti,intj)
{a=i;
b=j;
Constructorcalled.\n"
voidA:
print()
a="
a<
b="
b<
}
{Am,n(4,8);
m.print();
n.print();
四.编程题(共23分)
注意:
使用规范格式编程,并在适当位置添加注释。
1.(10分)已知6≤a≤30,15≤b≤36,编写程序求出满足方程2a+5b=126的全部整数组解。
如(13,20)就是其中的一组解。
2.(13分)已知点类Point的定义如下,该类包含两个double类型的私有数据成员x和y,分别表示点的横坐标和纵坐标。
定义类的构造函数,用于初始化x和y;
定义类的公有成员函数distance,用来计算两点之间的距离;
编写程序实现点类Point的成员函数,并在主函数中测试定义的点类Point。
classPoint
{
doublex,y;
//点的横、纵坐标
Point(doublexx=0,intdouble=0);
//此处为计算两点之间距离的成员函数,并完成距离的输出
北京林业大学2007--2008学年第1学期考试答题纸
考试班级学号姓名考试科目面向对象程序设计语言A成绩
一、单项选择题(每小题2分,共40分)
题号
1
2
3
4
5
6
7
8
9
10
答案
11
12
13
14
15
16
17
18
19
20
二、判断题(每小题1分,共12分)
三、读程序写结果题(每小题5分,共25分)
四、编程题(共23分)
1.(10分)
2.(13分)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 07 面向 对象 程序设计语言 期末考试 试题