兰州大学《面向对象程序设计》15秋在线作业3满分答案文档格式.docx
《兰州大学《面向对象程序设计》15秋在线作业3满分答案文档格式.docx》由会员分享,可在线阅读,更多相关《兰州大学《面向对象程序设计》15秋在线作业3满分答案文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
=
B.-
C.?
:
D.[]
C
3.函数重载是指
A.两个或两个以上函数取相同函数名,但形参的个数或类型不同
B.两个以上函数取相同的名字和具有相同的参数个数,但形参类型可不同
C.两个以上的函数名字不同,但形参的个数或类型相同
D.两个以上的函数取相同的函数名,并且函数的返回类型相同
A
4.有以下程序main(){char*p[]={"
3697"
"
2584"
};
inti,j;
longnum=0;
for(i=0;
i<
2;
i++){j=0;
while(p[j]!
='
\0'
){if((p[j]-‘0'
)%2)num=10*num+p[j]-'
0'
;
j+=2;
}}printf("
%d\n"
num);
}程序执行后的输出结果是()
A.35
B.37
C.39
D.3975
5.下面程序错误的语句是 ①#include<
iostream.h>
②voidmain() ③{ ④int*p=newint[1];
⑤p=9;
⑥cout<
<
*p<
eddl;
⑦delete[]p⑧}
A.④
B.⑤
C.⑥
D.⑦
B
6.若有如下类声明 classMyClass{ public:
MyClass(){cout<
1;
} };
执行下列语句 MyClassa,b[2],*P[2];
以后,程序的输出结果是()
A.11
B.111
C.1111
D.11111
7.表达式3.6-5/2+1.2+5%2的值是()
A.4.3
B.4.8
C.3.3
D.3.8
8.下列()的调用方式是引用调用
A.形参和实参都是变量
B.形参是指针,实参是地址值
C.形参是引用,实参是变量
D.形参是变量,实参是地址值
9.假定一个类AB只含有一个整型数据成员a,用户为该类定义的带参构造函数可以为
A.AB(){}
B.AB():
a(0){}
C.AB(intaa==0){a=aa}
D.AB(intaa){}
10.执行下列语句段后,输出字符“*”的个数是()for(inti=50;
i>
i-=2)cout<
~*~;
A.24
B.25
C.26
D.50
11.从一个基类派生出的各个类的对象之间
A.共享所有数据成员,每个对象还包含基类的所有属性
B.共享部分数据成员,每个对象还包含基类的所有属性
C.不共享任何数据成员,但每个对象还包含基类的所有属性
D.共享部分数据成员和函数成员
12.有如下定义:
inta[5]={1,3,5,7,9},*p=a;
下列表达式中不能得到数值5的是()
A.a[2]
B.a[3]
C.*(p+2)
D.*p+4
13.在关键字public后定义的成员为该类的
A.私有
B.公有
C.保护
D.任何
《面向对象程序设计》15秋在线作业3
二、多选题(共2道试题,共8分。
1.类的基本特征()
A.封装
B.继承
C.安全
D.多态
ABD
2.下列有关模板和继承的说法正确的是
A.模板和继承都可以派生出一个类系
B.从类系的成员看,模板类系的成员比继承类系的成员较为稳定
C.从动态性能看,继承类系比模板类系就具有更多的动态性
D.相同模板的不同实例一般没有联系,而派生类各种类之间有兄弟父子等关系
AD
三、判断题(共10道试题,共40分。
1.当将一个类S定义为零一个类A的友元类时,类S的所有成员函数都可以直接访问类A的所有成员
A.错误
B.正确
2.C++使用new和delete时需要包含头文件<
malloc.h>
。
3.类除了用class定义外,还可以用struct定义。
4.基类中被说明为protect和private的成员只能被派生类的成员函数访问,不能被其他的函数访问
5.带默认值的成员函数在类体外实现时,默认值不写都可以。
6.所有的表达式都有值
7.虚函数由成员函数调用或通过指针,引用来访问。
8.编译时多态性通过重载函数实现
9.如果定义了不带初始值的类的实例,却没有显式的定义不带参数的默认构造函数,编译时程序就会报错。
10.在C++中,允许用变量对数组进行初始化。