1、面向对象程序设计习题三答案一、单项选择题(本大题共5小题,每小题2分,共0分)、用“”运算符从键盘输入多于一个数据时,各数据之间应使用( )符号作为分隔符。 A、空格或逗号 、逗号或回车 C、逗号或分号 D、空格或回车2、C+中声明常量得关键字就是( A )。 A、ct B、extern C、pubc D、num3、以下叙述中正确得就是( B)、使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外得值B、使用const定义得常量名有类型之分,其值在程序运行时就是不可改变得、在程序中使用内置函数使程序得可读性变差D、在定义函数时可以在形参表得任何位置给出缺省形参值4、下列得符号常
2、变量定义中,错误得定义就是( )。A、cns =;B、cosi M=0; C、const cr ch; 、const bol make;5、函数原型语句正确得就是( )。A、itnon(void a) B、voiFun (int); C、int Fnctin(a); 、voidint(oule a);、在关键字rivate后面定义得成员为类得( )成员。A、私有 、公用C、保护 D、任何7、在一个类得定义中,包含有( )成员得定义。A、数据 B、函数 C、数据与函数D、数据或函数8、在类作用域中能够通过直接使用该类得(D )成员名进行访问、私有 B、公用 C、保护 、任何9、在关键字publi
3、c后面定义得成员为类得(B )成员。A、私有 B、公用 C、保护 、任何10、类中定义得成员默认为(B)访问属性、 、ublicB、piate C、protcte D、fiend11、每个类( )构造函数。 、只能有一个 、可以有公用得、可以有多个 、只可有缺省得12、对类对象成员得初始化就是通过构造函数中给出得( B )实现得。A、函数体 B、参数初始化表 、参数表 D、参数初始化表或函数体13、假定AB为一个类,则执行“ABx;”语句时将自动调用该类得( B ).。 A、有参构造函数 B、无参构造函数 C、复制构造函数 D、赋值重载函数14、假定AB为一个类,则执行 “ABx(a,5);”
4、语句时将自动调用该类得(A )、 A、带参构造函数 、无参构造函数 C、复制构造函数 、赋值重载函数15、假定CTest为一个类,并且有一无默认值得得有参构造函数与一无参构造函数,则执行“CTetbst;”语句时将自动调用该类得( B )。A、有参构造函数 B、无参构造函数C、复制构造函数 D、赋值构造函数16、在重载一个运算符时,其参数表中没有任何参数,这表明该运算符就是( )。 A、作为友元函数重载得元运算符 B、作为成员函数重载得元运算符 C、作为友元函数重载得2元运算符 D、作为成员函数重载得2元运算符17、在成员函数中进行双目运算符重载时,其参数表中应带有(B )个参数。 A、0 B
5、、1 C、2D、38、双目运算符重载为普通函数时,其参数表中应带有(C )个参数。 A、 B、1 、2、31、如果表达式a+b中得“+”就是作为成员函数重载得运算符,若采用运算符函数调用格式,则可表示为(A )。 A、。perator(b) 、b.operat+(a) C、oeratr+(a,b)D、opeator(+b)0、如果表达式a=b中得“=就是作为普通函数重载得运算符,若采用运算符函数调用格式,则可表示为(C )。A、a.operator=() 、.operator=(a)C、opeator=(a,) D、operaor(b,a)21、派生类得成员函数可以直接访问基类得(B )成员。
6、A、所有 、公有与保护C、保护与私有D、私有22、派生类可以访问其基类得( D )。A、公用成员 B、保护成员 、私有派生 D、公用与保护成员23、对于类中定义得成员,其隐含访问权限为( C )、 A、ubic 、ptotected C、rvate D、sttic24、在定义一个派生类时,若不使用保留字显式地规定采用何种继承方式,则默认为( A )方式。 A、私有继承 、非私有继承 C、保护继承 D、公用继承25、在公用继承得情况下,基类成员在派生类中得访问权限(B )、受限制 B、保持不变 C、受保护 D、不受保护二、判断题(本大题共2小题,每小题2分,共50分,正确填“T”,错误填“F”)
7、1、字符串sdfgh得长度就是5。( T )2、将字符串常量存放到字符串变量时,包含字符串本身与结束符“0”。( F )3、关系运算符可以用来比较两个字符得大小,也可用来比较两个字符串得大小、( T )、使用e运算符创建数组时,可以为该数组指定初始值( F )、5、在设计类时一般把数据成员设置为私有得,把函数成员设置为公用得,从而实现了公用接口与私有实现得分离、( )6、析构函数必须指定返回类型以及函数参数、( )7、如果定义了一个类得对象数组,该数组有10个元素,则要调用0次构造函数来对每个元素初始化。( )、8、友元函数说明在类体内,它就是一种成员函数。( F )、友元类必须被说明为公用成
8、员、( F )0、运算符重载以后,其优先级与结合性都不能改变。( T )11、重载单目运算符作为类得成员函数,函数没有参数、(T )12、将运算符“+”函数重载为类得成员函数,交换律不适用。( )13、不能通过派生类对象引用从私有基类继承过来得任何成员、( T )14、若类B就是类A得私有派生类,类C就是类得私有派生类,则类C可访问类得公用成员。( )15、在声明派生类时,派生类把基类得得构造函数也一起继承过来。( F )6、派生类能够继承基类得析构函数。( F )1、使用虚函数可以避免多重继承产生得二义性。(T )18、当一个成员函数被声明为虚函数后,其派生类中得具有相同参数类型与相同参数个数类型得相同类型得同名函数也就是虚函数。( )19、纯虚函数就是在基类中说明得虚函数,它在该基类中必须定义具体得操作内容。( F )20、不可以定义抽象类得对象。( )21、使用字符串流时必须打开文件。( F )2、程序运行过程出现异常就是由于语法错误引起得。( F )23、在+得异常处理方法中,t块与at块必须作为一个整体出现。( T )24在+中,在文件中只能用“#includese包含头文件iostream,而不能用“#include osteam。h包含头文件ioteam。( F )25、C+中得所有运算符都允许重载。( F )