西安交通大学网络教育学院
《面向对象程序设计》习题三答案
一、单项选择题(本大题共25小题,每小题2分,共50分)
1、用“>>”运算符从键盘输入多于一个数据时,各数据之间应使用(D)符号作为分隔符。
A、空格或逗号B、逗号或回车C、逗号或分号D、空格或回车
2C++中声明常量的关键字是(A)。
AconstBexternCpublicDenum
3、以下叙述中正确的是(B
A、使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值
B、使用const定义的常量名有类型之分,其值在程序运行时是不可改变的
C、在程序中使用内置函数使程序的可读性变差
D、在定义函数时可以在形参表的任何位置给出缺省形参值
4、下列的符号常变量定义中,错误的定义是(C)。
AconstM=10;BconstintM=20;
Cconstcharch;Dconstboolmark=true;
5、函数原型语句正确的是(B)。
AintFunction(voida)
BvoidFunction(int);
CintFunction(a);
Dvoidint(doublea);
6、在关键字private后面定义的成员为类的(A)成员。
A、私有B、公用C、保护D、任何
7、在一个类的定义中,包含有(C)成员的定义。
A、数据B、函数C、数据和函数D、数据或函数
8、在类作用域中能够通过直接使用该类的(D)成员名进行访问。
A、私有B、公用C、保护D、任何
9、在关键字public后面定义的成员为类的(B)成员。
A、私有B、公用C、保护D、任何
10、类中定义的成员默认为(B)访问属性。
ApublicBprivateCprotectedDfriend
11、每个类(C)构造函数。
西安交通大学网络教育学院
A、只能有一个B、可以有公用的
C、可以有多个D、只可有缺省的
12、对类对象成员的初始化是通过构造函数中给出的(B)实现的。
A、函数体B、参数初始化表
C、参数表D、参数初始化表或函数体
13、假定AB为一个类,则执行“ABx;”语句时将自动调用该类的(B).
A、有参构造函数B、无参构造函数
C、复制构造函数D、赋值重载函数
14、假定AB为一个类,则执行ABx(a,5);”语句时将自动调用该类的(A)
A、带参构造函数B、无参构造函数
C、复制构造函数D、赋值重载函数
15、假定CTest为一个类,并且有一无默认值的的有参构造函数和一无参构造函数,则执行“CTest
objTest;”语句时将自动调用该类的(B)。
A、有参构造函数B、无参构造函数
C、复制构造函数D、赋值构造函数
16、在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是(B)。
A、作为友元函数重载的1元运算符
B、作为成员函数重载的1元运算符
C、作为友元函数重载的2元运算符
D、作为成员函数重载的2元运算符
17、在成员函数中进行双目运算符重载时,其参数表中应带有(B)个参数。
A0B1C2D3
18、双目运算符重载为普通函数时,其参数表中应带有(C)个参数。
A0B1C2D3
19、如果表达式a+b中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可
表示为(A)。
Aa.operator+(b)Bb.operator+(a)
Coperator+(a,b)Doperator(a+b)
20、如果表达式a==b中的“==”是作为普通函数重载的运算符,若采用运算符函数调用格式,则
可表示为(C)。
Aa.operator==(b)Bb.operator==(a)
西安交通大学网络教育学院
Coperator==(a,b)Doperator==(b,a)
21、派生类的成员函数可以直接访问基类的(B)成员。
A、所有B、公有和保护
C、保护和私有D、私有
22、派生类可以访问其基类的(D)。
A、公用成员B、保护成员C、私有派生D、公用和保护成员
23、对于类中定义的成员,其隐含访问权限为(C)。
ApublicBptotectedCprivateDstatic
24、在定义一个派生类时,若不使用保留字显式地规定采用何种继承方式,则默认为(A)方
式。
A、私有继承B、非私有继承C、保护继承D、公用继承
25、在公用继承的情况下,基类成员在派生类中的访问权限(B
A、受限制B、保持不变C、受保护D、不受保护
二、判断题(本大题共25小题,每小题2分,共50分,正确填“T”,错误填“F”)
1、字符串"sdfgh"的长度是5。(T
2、将字符串常量存放到字符串变量时,包含字符串本身和结束符“\0”。(F
3、关系运算符可以用来比较两个字符的大小,也可用来比较两个字符串的大小。(T
4、使用new运算符创建数组时,可以为该数组指定初始值(F)。
5、在设计类时一般把数据成员设置为私有的,把函数成员设置为公用的,从而实现了公用接口和
私有实现的分离。(T
6、析构函数必须指定返回类型以及函数参数。(F
7、如果定义了一个类的对象数组,该数组有10个元素,则要调用10次构造函数来对每个元素初
始化。(T)。
8、友元函数说明在类体内,它是一种成员函数。(F
9、友元类必须被说明为公用成员。(F
10、运算符重载以后,其优先级和结合性都不能改变。(T
构造函数可以被重载11、重载单目运算符作为类的成员函数,函数没有参数。(T
12、将运算符“+”函数重载为类的成员函数,交换律不适用。(T
13、不能通过派生类对象引用从私有基类继承过来的任何成员。(T
14、若类B是类A的私有派生类,类C是类B的私有派生类,则类C可访问类A的公用成员。(
F
西安交通大学网络教育学院
15、在声明派生类时,派生类把基类的的构造函数也一起继承过来。(F
16、派生类能够继承基类的析构函数。(F
17、使用虚函数可以避免多重继承产生的二义性。(T
18、当一个成员函数被声明为虚函数后,其派生类中的具有相同参数类型和相同参数个数类型的
相同类型的同名函数也是虚函数。(T
19、纯虚函数是在基类中说明的虚函数,它在该基类中必须定义具体的操作内容。(F
20、不可以定义抽象类的对象。(T
21、使用字符串流时必须打开文件。(F
22、程序运行过程出现异常是由于语法错误引起的。(F
23、在C++的异常处理方法中,try块和catch块必须作为一个整体出现。(T
24C++中,在文件中只能用“#include<iostream>包含头文件iostream,而不能用“#include
<iostream.h>包含头文件iostream。(F
25C++中的所有运算符都允许重载。(F

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。