当前位置:首页 > C++面向对象程序设计试卷2
上海应用技术学院2011—2012学年第一学期 《 面向对象程序设计 》期(中)(B)试卷
课程代码: B2042211 学分: 3 考试时间: 100 分钟
课程序号: 1126045 班级: 学号: 姓名:
我已阅读了有关的考试规定和纪律要求,愿意在考试中遵守《考场规则》,如有违反将愿接受相应的处理。 题 号 一 应得分 20 实得分
一、选择题(每题2分,共20分)
1、在C++语言中函数返回值的类型是由_________决定的。 A)调用该函数时系统临时 B)return语句中的表达式类型 C)定义该函数时所指定的函数类型 D)调用该函数时的主调函数类型
2、在函数定义前加上关键字inline\表示该函数被定义为_________。 A)重载函数 B)内联函数 C)成员函数 D)普通函数
3、假定MyClass为一个类,则该类的拷贝初始化构造函数的声明语句为_________。 A)MyClass &(MyClass x); B)MyClass (MyClass x) C)MyClass (MyClass &x); B)MyClass (MyClass *x)
4、下面对于友元函数描述正确的是_________。 A)友元函数的实现必须在类的内部定义 B)友元函数是类的成员函数
C)友元函数破坏了类的封装性和隐藏性 D)友元函数不能访问类的私有成员
5、为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限..定义为_________。
第 1 页
二 20 三 24 四 36 五 六 七 八 九 十 总 分 100 试卷共 8 页,请先查看试卷有无缺页,然后答题。
A)public B)protected C)private D)static
6、下面对静态数据成员的描述中,正确的是_________。 A)静态数据成员是类的所有对象共享的数据 B)类的每个对象都有自己的静态数据成员 C)类的不同对象有不同的静态数据成员值 D)静态数据成员不能通过类的对象调用
7、关于new运算符的错误的描述是_________。 .. A)使用运算符new创建对象数组时必须定义初始值 B)使用运算符new创建对象时,会调用类的构造函数 C)运算符new可以用来动态创建对象和对象数组
D)使用new运算符创建的对象可以使用运算符delete删除
8. 下列给字符数组进行初始化中,__________是正确的。 A. char s1[ ]=\ B. char s2[3]=\
C. char s3[][3]={ 'a', 'x', 'y'}; D. char s4[2[3]={\9、__________是析构函数的特征。
A. 一个类中只能定义一个析构函数; B. 析构函数与类名不同;
C. 析构函数的定义只能在类体内; D. 析构函数可以有各个或多个参数。; 10、已知:p是一个指向类A数据成员m的指针,A1是类A的一个对象。如果要给m赋值为
5,__________是正确的。
A. A1.p=5; B. A1->p=5; C. A1.*p=5; D. *A1.p=5;
二、填空题(每空2分,共20分)
1、 1在C++程序中,使用基本输入输出流需要包含的头文件是__iostream_______。
2、 执行___new___操作将动态分配P所指向的数据空间,执行__delete___操作将释放由P
所指向的动态分配的数据空间。
3、 C++的三种作用域分别是全局作用域、 文件作用域 和_ 函数作用域 。
第 2 页
4、在C++语言中,每个类都有一个隐含的指针叫做____this_____指针,该指针指向正在调用
成员函数的对象。
5、如果需要在被调函数运行期间,改变主调函数中实参变量的值,则函数的形参应该 是 引用 类型或 指针 类型。
10.类的访问权限有 public、____private______和protected。
7.在C++程序中,打开std命名空间的语句是__using namespace std______。
三、写出程序运行结果(每题 4分,共 24 分) 1、写出下列程序的运行结果。 #include
public:
MyPoint(int xx=5, int yy=5) {
X = xx; Y = yy;
cout<<\ }
private: int X, Y; } ;
void main() {
MyPoint a(10,10),b; }
(10,10)(5,5)
2、写出下列程序的运行结果。 #include
第 3 页
void fun() {
{
static int i=1; cout<
cout<
int main() {
fun();fun(); return 0; }
1,2,1,2
3、写出下列程序的运行结果。 #include
test(){cout<<\ test(int a){cout< ~test(){cout<<\}; int main() { test A(3); return 0; 第 4 页
共分享92篇相关文档