面向对象程序设计期末综合练习.pdf
面对对象程序设计期末综合练习一(单选题)单选题1 .C+源程序文件的缺省扩展名为(A )。A.cp p B.e x e C.o bj D.l i k2 .由C+源程序文件编译而成的目标文件的缺省扩展名为(C )。A.cp p B.e x e C.o bj D.l i k3 .由C+目标文件连接而成的可执行文件的缺省扩展名为(B )。A.cp p B.e x e C.o bj D.l i k4 .编 写C+程序一般需经过的几个步骤依次是(B )。A.编 译、编 辑、连 接、调试B.编 辑、编 译、连 接、调试C.编 译、调 试、编 辑、连接D.编 辑、调试、编 辑、连接5.以下说法1中正确1为 是(B )A.C+程序总是从第一个定义的函数开头执行B.C+程 序 总 是 从m ai n函数开头执行C.C+函数必需有返回值,否则不能使用函数D.C+程序中有调用关系的全部函数必需放在同一个程序文件中6 .以下 叙 述 中 不 正 确 的 是(C )。A.在一个函数中,可 以 有 多 条r e t u r n语句B.函数的定义不能嵌套,但函数的调用可以嵌套C.函数必需有返回值D.不同的函数中可以使用相同名字的变量7 .当#i n cl u d e后面的文件名用双引号括起来时,查找被包含文件的方式是(B ).A.直接按系统设定的标准方式搜寻名目B .先在源程序所在名目搜寻,再按系统设定的标准方式搜寻名目C.仅仅搜寻源程序所在名目D.搜寻当前规律盘上的全部名目8.当#i n cl u d e后面的文件名用尖括号括起来时,查找被包含文件的方式是(A )0A.直接按系统设定的标准方式搜寻名目B .先在源程序所在名目搜寻,再按系统设定的标准方式搜寻名目C.仅仅搜寻源程序所在名目D.搜寻当前规律盘上的全部名目9 .预处理命令在程序中都是以(B )符号开头的。A.*B.#C.&D.1 0.用n e w运 算 符 创 建 一 个 含1 0个元素的一维整型数组的正确语句是(C )。A.i n t *p=n e w a 1 0;B.i n t *p=n e w f l o at 1 0;C.i n t *p=n e w i n t 1 0;D.i n t *p=n e w i n t 1 0 =1,2,3,4,5)1 1.假 定 变 量m定 义 为“i n t m=7;,则 定 义 变 量p的 正 确 语 句 为(B )。A.i n t p=&m;B.i n t *p=&m;C.i n t&p=*m;D.i n t *p=m;1 2 .假定k是一个d o u bl e 类型的变量,则关于变量p的正确定义语句为(D )。A.d o u bl e p=&k;B.i n t *p=&k;C.d o u bl e&p 二*k;D.ch ar *p=,T h an k y o u!”;1 3 .假定p指向的字符串为s t r i n g”,若要输出这个字符串的地址值,则 使 用(D )。A.co u t *s;B.co u t s;C.co u t&s;D.co u t (v o i d *)s;1 4 .定义p并使p指向动态空间中的包含3 0个整数的数组所使用的定义语句为(AA.i n t *p=n e w i n t 3 0;B.i n t *p=n e w i n t(3 0);C.i n t *p=n e w 3 0;D.*p=n e w i n t 3 0;1 5 .假定p是具有i n t*类型的指针变量,则给p 赋值的正确语句为(B )。A.p=n e w i n t;B.p=n e w i n t*;C.p=n e w i n t*;D.p=n e w i n t 1 0;1 6 .要使语句“p=n e w i n t 1 0 2 0 ;w能够正常执行,p 应被事先定义为(D )。A.i n t *p;B.i n t *p;C.i n t *p 2 0;D.i n t(*p)2 0;1 7 .假定指针变量p定义为i n t *p=n e w i n t(1 00);要释放p 所指向的动态内存,应使用语句(A )。A.d e l e t e p;B.d e l e t e *p;C.d e l e t e&p;D.d e l e t e p;1 8.假定指针变量p定义为“i n t *p=n e w i n t 3 0;,要释放p所指向的动态内存,应使用语句(A )。A.d e l e t e p;B.d e l e t e *p;C.d e l e t e&p;D.d e l e t e p;1 9 .关于消息,下列说法中不正确的是(B )。A.发送消息的对象恳求服务,接受消息的对象供应服务B.消息的发送者必需了解消息的接收者如何相应消息C.在 C+中,消息的发送具体体现为对接收消息的对象的某个函数的调用D.每个对象只能接收某些特定格式的消息2 0 .关于封装,下列说法中不正确的是(D )。A.通过封装,对象的全部属性和操作结合在一起,形成一个整体B.通过封装,一个对象的实现细节被尽可能地隐蔽起来(不行见)C.通过封装,每个对象都成为相对独立的实体D.通过封装,对象的属性都是不行见的2 1 .面对对象方法的多态性是指(C )。A.一个类可以派生出多个特别类B.一个对象在不同的运行环境中可以有不同的变体C.针对一消息,不同的对象可以以适合自身的方式加以响应D.一个对象可以是由多个其他对象组合而成的2 2 .软件产品在需求发生变化、运行环境发生变化或发觉软件产品本身的错误或不足时进行相应的软件更新的难易程度叫做软件的(AA.可维护性 B.可复用性 C.兼容性 D.正确性2 3 .软件产品可被全部或部分地再用于新的应用的力量叫做软件的(B )。A.可维护性 B.可复用性 C.兼容性 D.正确性2 4 .软件产品与其他软件产品组合成一个整体的难易程度叫做软件的(C )。A.可维护性 B.可复用性 C.兼容性 D.正确性2 5 .软件产品精确 执行软件需求规格说明书中所规定的任务的力量叫做软件的(D )。A.可维护性 B.可复用性 C.兼容性 D.正确性2 6 .面对对象软件开发中使用的0 0 A 表 示(A)oA.面对对象分析 B.面对对象设计C.面对对象语言 D.面对对象方法2 7 .面对对象软件开发中使用的0 0 D 表 示(B )。A.面对对象分析 B.面对对象设计C.面对对象语言 D.面对对象方法2 8 .关于面对对象系统分析,下列说法中不正确的是(B )。A.术 语“面对对象分析”可以用缩写0 0 A 表示B.面对对象分析阶段对问题域的描述比实现阶段更具体C.面对对象分析包括问题域分析和应用分析两个步骤D.面对对象分析需要识别对象的内部和外部特征2 9 .在一个类的定义中,包 含 有(C )成员的定义。A.数据 B.函数 C.数据和函数 D.数据或函数3 0 .在类作用域中能够通过直接使用该类的(D )成员名进行访问。A.私有 B.公用 C.爱护 D.任何3 1 .在关键字p u b l i c 后面定义的成员为类的(B )成员。A.私有 B.公用 C.爱护 D.任何3 2 .在关键字p r i v a t e 后面定义的成员为类的(A )成员。A.私有 B.公用 C.爱护 D.任何、3 3 .假定A A 为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a的格式为(D )。A.x (a)B,x a C.x-a D.x.a3 4 .假定A A 为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x 对象中函数成员a()的格式为(B )。A.x.a B.x.a ()C.x-a D.x-a ()3 5 .假 定 A A 为一个类,a为该类公有的数据成员,p x 为指向该类对象的一个指针,则访问p x所指对象中数据成员a的格式为(C )。A.p x(a)B.p x a C.p x-a D.p x.a 3 6 .假 定 A A 为一个类,a为该类私有的数据成员,G e t V a l u e O 为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x 对象中数据成员a的格式为(DA.x.a B.x.a()C.x-G e t V a l u e()D.x.G e t V a l u e O3 7 .假 定 A A 为一个类,i n t a()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为(A )oA.i n t A A:a()B.i n t A A:a()C.A A:a()D.A A:i n t a()3 8 .假定A A 为一个类,a为该类公有的数据成员,若要在该类的一个成员函数中访问它,则书写格式为(A )。A.a B.A A:a C.a()D.A A:a ()3 9 .若需要把一个类外定义的成员函数指明为内联函数,则必需把关键字(B)放在函数原型或函数头的前面。A.i nB.i nli neC.i nL i neD.InL i ne r4 0.在多文件结构的程序中,通常把类的定义单独存放于(D )中。A.主文件 B.实现文件 C.库文件 D.头文件4 1 .在多文件结构的程序中,通常把类中全部非内联函数的定义单独存放于(B)中。A.主文件 B.实现文件 C.库文件 D.头文件42.在多文件结构的程序中,通常把含有mai n。函数的文件称为(A )。A.主文件 B.实现文件 C.程序文件 D.头文件4 3 .一个C+程序文件的扩展名为(C)A.h B.c C.cpp D.cp44.在 C+程序中使用的ci n标识符是系统类库中定义的(A )类中的一个对象。A.i s t re am B.os t re am C.i os t re am D.f s t re am4 5 .在 C+程序中使用的cou t 标识符是系统类库中定义的(B)类中的一个对象。A.i s t re am B.os t re am C.i os t re am D.f s t re am4 6 .假 定 AA是一个类,a b c 是该类的一个成员函数,则参数表中隐含的第一个参数的类型为(D )。A.i nt B.ch ar C.A A D.A A*4 7 .假定A A 是一个类,ab c是该类的一个成员函数,则参数表中隐含的第一个参数为(CA.ab c B.*t h i s C.t h i s D.t h i s&4 8.假 定 AA是一个类,“A A&ab c();”是该类中一个成员函数的原型,若该函数存在对*t h i s赋值的语句,当用x.ab c()调用该成员函数后,x的 值(A )。A.已经被转变 B.可能被转变 C.不变 D.不受函数调用的影响4 9 .假定A A 是一个类,A A*ab c()c o n st是该类中一个成员函数的原型,若该函数返回t h i s值,当用x.ab c()调用该成员函数后,x的 值(C)。A.已经被转变 B.可能被转变C.不变 D.受到函数调用的影响5 0 .类中定义的成员默认为(B)访问属性。A.pu b li c B.pri v at e C.prot e ct e d D.f ri e nd5 1 .结构中定义的成员默认为(A )访问属性。A.pu b li c B.pri v at e C.prot e ct e d D.f ri e nd5 2 .当类中一个字符指针成员指向具有n 个字节的存储空间时,它所能存储字符串的最大长度为(C)。A.n B.n+1 C.n-1 D.n-25 3 .在一个用链表实现的队列类中,假定每个结点包含的值域用e le m表示,包含的指针域用ne x t 表示,链队的队首指针用e le mlle ad 表示,队尾指针用e le mT ai l表示,若链队非空,则进行插入时必需把新结点的地址赋给(D )。A.e le mlle ad B.e le mT ai lC.e le mH e ad-ne x t 和 e le mH e ad D.e le mT ai l-ne x t 和 e le mT ai l5 4.在一个用链表实现的队列类中,假定每个结点包含的值域用e le m表示,包含的指针域用ne x t 表示,链队的队首指针用e le mH e ad 表示,队尾指针用e le mT ai 1 表示,若链队为空,则进行插入时必需把新结点的地址赋给(C)oA.e le mH e ad B.e le mT ai 1C.e le mH e ad 和 e le mT ai l D.e le mH e ad 或 e le mT ai l5 5.队列具有(A )的操作特性。A.先进先出 B.先进后出 C.进出无序 D.进出任意5 6 .栈 具 有(B)的操作特性。A.先进先出 B.先进后出 C.进出无序 D.进出任意5 7 .对于一个类的构造函数,其函数名与类名(A )0A.完全相同 B.基本相同 C,不相同 D.无关系5 8.对于一个类的析构函数,其函数名与类名(C)。A.完全相同 B.完全不同 C.只相差一个字符 D.无关系5 9 .类的构造函数是在定义该类的一个(C)时被自动调用执行的。A.成员函数 B.数据成员 C.对象 D.友元函数6 0 .类的析构函数是一个对象被(B)时自动调用的。A.建立 B.撤消 C.赋值 D.引用6 1 .一个类的构造函数通常被定义为该类的(A )成员。A.公用 B.爱护 C.私有 D.友元6 2 一个类的析构函数通常被定义为该类的(C)成员。A.私有 B.爱护 C.公用 D.友元6 3 .假 定 A B为一个类,则执行“A B x;”语句时将自动调用该类的(B)。A.带 参 构 造 函 数 B.无参构造函数 C.拷贝构造函数 D.赋值重载函数6 4 .假 定 A B为一个类,则 执 行“A B x(a,5);”语句时将自动调用该类的(A )。A.带 参 构 造 函 数 B.无参构造函数 C.拷贝构造函数 D.赋值重载函数6 5 .假定A B为一个类,则 执 行 A B*s=ne w A B(a,5)语句时得到的一个动态对象为(D 兀A.s B.s-a C.s.a D.*s6 6 .假定A B为一个类,则 执 行“A B rl=r2;”语句时将自动调用该类的(D )。A.无 参 构 造 函 数 B,带参构造函数 C.赋值重载函数 D.拷贝构造函数6 7 .若需要使类中的一个指针成员指向一块动态存储空间,则 通 常 在(B)函数中完成。A.析构 B.构造 C.任一成员 D.友元6 8.当类中的一个整型指针成员指向一块具有n*s i z e of(i nt)大小的存储空间时,它最多能够存储(A )个整数。A.n B.n+1 C.n-1 I).16 9 .假定一个类的构造函数为“A(i nt aa,i nt b b)a=aa;b=aa*b b;”,则执行“A x(4,5);”语句后,x.a和 x.b 的值分别为(C)oA.4 和 5 B.5 和 4 C.4 和 2 0 D.2 0 和 57 0 .假定一个类的构造函数为“A(i nt aa=l,i nt b b=0)a=aa;b=b b;”,则 执 行“A x(4);M语句后,x.a和 x.b 的值分别为(D ).A.1 和 0 B.1 和 4 C.4 和 1 D.4 和 07 1 .假 定 A B为一个类,则(B)为该类的拷贝构造函数的原型说明。A.A B(A B x);B.A B(A B&x);C.v oi d A B(A B&x);D.A B(i nt x);7 2 .假 定 一 个 类 的 构 造 函 数 为 “B(i nt ax,i nt b x):a(ax),b(b x),执行“B*(1,2),丫(3,4)谆=丫;”语句序列后*.的值为(C)。A.1 B.2 C.3 D.47 3 .假定一个类A B 只含有一个整型数据成员a,当用户不定义任何构造函数时,系统为该类定义的无参构造函数为(D )。A.A B()a=0;B.A B(i n t a a=0):a(a a)C.A B(i n t a a):a(a a)D.A B()7 4 .假定一个类A B只含有一个整型数据成员a,用户为该类定义的带参构造函数可以为(C)。A.A BO(C.A B(i n t a a=O)a=a a;B.A BO:a(0)D.A B(i n t a a)7 5 .对于任一个类,用户所能定义的构造函数的个数至多为(D )。A.0 B.1 C.2 D.任意个7 6 .对于任一个类,用户所能定义的析构函数的个数至多为(B)。A.0 B.1 C.2 D.任意个7 7 .假 定 A B为一个类,则 执 行“A B*p x=n ew A B n;”语句时将(A )。A.动态安排一个数组 B.动态安排一个对象C.静态安排一个数组 D.静态安排一个对象7 8.设 px 是指向一个类对象的指针变量,则 执 行“d el ete p x;”语句时,将自动调用该类的(C)。A.无参构造函数 B.带参构造函数 C.析构函数 D.拷贝构造函数7 9 .当一个类对象离开它的作用域时,系统自动调用该类的(D )。A.无参构造函数 B.带参构造函数 C.拷 贝 构 造 函 数 D.析构函数80.假定一个类对象数组为A n,当离开它定义的作用域时,系统自动调用该类析构函数的次数为(C 兀A.0 B.1 C.n D.n-181 .假 定 A B为一个类,则 执 行“A B 语句时调用该类无参构造函数的次数为(D )。A.0 B.1 C.9 D.1 082 .假 定 AB 为一个类,则 执 行“A B*p x=n ew A B n 语句时调用该类无参构造函数的次数为(A )。A.n B.n-1 C.1 D.083 .假定A B为一个类,则 执 行“A B a,b(3),*p;“语句时共调用该类构造函数的次数为(A)。A.2 B.3 C.4 D.584 .假定A B为一个类,则 执 行“A B a(2),b 3,*p 4 语句时共调用该类构造函数的次数为(B)。A.3 B.4 C.5 D.985 .假定A B为一个类,则执行“A Ba,b(2),c 3,*p=&a;语句时共调用该类无参构造函数的次数为(D )。A.5 B.6 C.3 D.486 .假 定 AB 为一个类,则 执行A B*p=n ew A B(1,2);”语句时共调用该类构造函数的次数为(B)。A.0 B.1 C.2 D.387 .假定A B为一个类,p x为指向该类的一个含有n个对象的动态数组的指针,则执行“d el ete口 p x;”语句时共调用该类析构函数的次数为(C).A.0 B.1 C.n D.n+188.对类对象成员的初始化是通过构造函数中给出的(B)实现的。A.函数体 B.初始化表 C.参数表 D.初始化表或函数体89 .对类中常量成员的初始化是通过构造函数中给出的(C)实现的。A.函数体 B.参数表 C.初始化表 D.初始化表或函数体9 0.对类中引用成员的初始化是通过构造函数中给出的(C)实现的。A.函数体 B.参数表 C.初始化表 D.初始化表或函数体9 1 .类的构造函数可以带有(D )个参数。A.0 B.1 C.2 D.任意9 2 .类的析构函数可以带有(A )个参数。A.0 B.1 C.2 D.任意9 3 .一个类的静态数据成员所表示属性(C)。A.是类的或对象的属性 B.只是对象的属性C.只是类的属性 D.类和友元的属性9 4 .类的静态成员的访问掌握(D )。A.只允许被定义为p r i va teB.只允许被定义为p r i va te或 p r o tec tedC.只允许被定义为p ub l i cD.可允许被定义为 p r i va te、p r o tec ted 或 p ub l i c9 5 .静态成员函数对类的数据成员访问(B)。A.是不允许的 B.只允许是静态数据成员C.只允许是非静态数据成员 D.可允许是静态数据成员或非静态数据成员9 6 .被非静态成员函数访问的类的数据成员(A )。A.可以是非静态数据成员或静态数据成员 B.不行能是类的静态数据成员C.只能是类的非静态数据成员 D.只能是类的静态数据成员9 7 .静态数据成员的初始化是在(D )中进行的。A.构造函数 B.任何成员函数C.所属类 D.全局区9 8.当将一个类A或函数f()说明为另一个类B 的友元后,类 A或函数f()能够直接访问类B 的(D )A.只能是公有成员 B.只能是爱护成员C.只能是除私有成员之外的任何成员 D.具有任何权限的成员9 9 .引入友元的主要目的是为了(C)。A.增加数据平安性 B.提高程序的牢靠性C.提高程序的效率和敏捷性 D.保证类的封装性1 00.一个类的成员函数也可以成为另一个类的友元函数,这时的友元说明(A )。A.需加上类域的限定 B.不需加上类域的限定C.类域的限定可加可不加 D.不需要任何限定1 01.一个类的友元不是该类的成员,与该类的关系亲密,所 以 它(D )0A.有 th i s 指针,有默认操作的对象B.没 有 th i s 指针,可以有默认操作的对象C.有 th i s 指针,不能执行默认操作D.没 有 th i s 指针,也就没有默认操作的对象1 02.在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是(B)。A.作为友元函数重载的1 元运算符 B.作为成员函数重载的1 元运算符C.作为友元函数重载的2元运算符 D.作为成员函数重载的2元运算符1 03.在成员函数中进行双目运算符重载时,其参数表中应带有(B)个参数。A.0 B.1 C.2 D.31 04.双目运算符重载为一般函数时,其参数表中应带有(C)个参数。A.0 B.11 05.假如表达式a+b式,则可表示为(AA.a.o p er a to r+(b)C.o p er a to r+(a,b)1 06.假如表达式a=bC.2D.3中 的“+”是作为成员函数重载的运算符,若采纳运算符函数调用格B.b.o p er a to r+(a)D.o p er a to r(a+b)中 的“=是作为一般函数重载的运算符,若采纳运算符函数调用格式,则可表示为(C)。A.a.o p er a to r-(b)B.b.o p er a to r-(a)C.o p er a to r=(a,b)D.o p er a to r=(b,a)1 07.假如表达式a+中 的“+”是作为一般函数重载的运算符,若采纳运算符函数调用格式,则可表示为(C)。A.a.o p er a to r+()B.o p er a to r+(a)C.o p er a to r+(a,1)D.o p er a to r+(l,a)1 08.假如表达式+a 中 的“+”是作为成员函数重载的运算符,若采纳运算符函数调用格式,则可表示为(D )。A.a.o p er a to r+(l)B.o p er a to r+(a)C.o p er a to r+(a,1)D.a.o p er a to r+()1 09.关于运算符重载,下列说法正确的是(C).A.重载时,运算符的优先级可以转变。B.重载时,运算符的结合性可以转变。C.重载时,运算符的功能可以转变。D.重载时,运算符的操作数个数可以转变。1 1 0.关于运算符重载,下列说法正确的是(BA.全部的运算符都可以重载。B.通过重载,可以使运算符应用于自定义的数据类型。C.通过重载,可以制造原来没有的运算符。D.通过重载,可以转变运算符的优先级。1 1 1.一个 程 序 中 数 组 a 和 变 量 k定 义 为“i n t a 5 1 0 ,k;,且程序中包含有语句“a(2,5)=+k*3;”,则此语句中确定属于重载操作符的是(A).A.()B.=C.+D.*1 1 2.假定K是一个类名,并有定义“K k;i n t j;,已知K中重载了操作符(),且语句“j=k(3);”和“k(5)=99;”都能顺当执行,说明该操作符函数的原形只可能是(C )。A.K ope r ator ()(i n t);B.i n t ope r ator ()(i n t&);C.i n t&ope r ator ()(i n t);D.K i ope r ator()(i n t);1 1 3.假 定 M 是一个类名,且 M 中重载了操作符=,可以实现M 对象间的连续赋值,如“m l=m 2=m 3;。重载操作符=的函数原型最好是(D )。A.i n t ope r aotor=(M);B.i n t ope r ator=(M&);C.M ope r ator=(M&);D.M&ope r ator=(M);1 1 4.下面是重载双目运算符+的一般函数原形,其中最符合+原来含义的是(A )。A.V al u e ope r ator+(V al u e,V al u e);B.V al u e ope r ator+(V al u e,i n t);C.V al u e&ope r ator+(V al u e,V al u e);D.V al u e&ope r ator+(V al u e&,V al u e&);1 1 5.下面是重载双目运算符-的成员函数原形,其中最符合-原来含义的是(A )0A.V al u e V al u e:ope r ator-(V al u e);B.V al u e V al u e:ope r ator-(i n t);C.V al u e&V al u e:ope r ator-(V al u e);D.V al u e&V al u e:ope r ator-(V al u e&);1 1 6.在重载一运算符时,若运算符函数的形参表中没有参数,则不行能的状况是(D )。A.该运算符是一个单目运算符。B.该运算符函数有一个隐含的参数th i s。C.该运算符函数是类的成员函数。D.该运算符函数是类的友元函数。1 1 7.关于插入运算符 的重载,下列说法不正确的是(B 建A.运算符函数的返回值类型是os tr e am&。B.重载的运算符必需定义为类的成员函数。C.运算符函数的第一个参数的类型是os tr e am&。D.运算符函数有两个参数。1 1 8,从一个基类派生出的各个类的对象之间(C )A.共享全部数据成员,每个对象还包含基类的全部属性B.共享部分数据成员,每个对象还包含基类的全部属性C.不共享任何数据成员,但每个对象还包含基类的全部属性D.共享部分数据成员和函数成员1 1 9.假如是类B 在类A的基础上构造,那么,就 称(B )。A.类 A为基类或父类,类 B 为超类或子类B.类 A为基类、父类或超类,类 B为派生类或子类C.类 A为派生类,类 B为基类D.类 A为派生类或子类,类 B为基类、父类或超类1 2 0.C+的继承性允许派生类继承基类的(C )。A.部分特性,并允许增加新的特性或重定义基类的特性B.部分特性,但不允许增加新的特性或重定义基类的特性C.全部特性,并允许增加新的特性或重定义基类的特性D.全部特性,但不允许增加新的特性或重定义基类的特性1 2 1.派生类的成员函数可以直接访问基类的(B )成员。A.全部 B.公有和爱护 C.爱护和私有 D.私有1 2 2.对于公有继承,基类的公有和爱护成员在派生类中将(D )成员。A.全部变成公有 B.全部变成爱护C.全部变成私有 D.仍旧相应保持为公有和爱护1 2 3.对于公有继承,基类中的私有成员在派生类中将(C )。A.能够直接使用成员名访问 B.能够通过成员运算符访问C.仍旧是基类的私有成员 D.变为派生类的私有成员1 2 4.当爱护继承时,基 类 的(B )在派生类中成为爱护成员,在类作用域外不能够通过派生类的对象来直接访问该成员。A.任何成员 B.公有成员和爱护成员C.爱护成员和私有成员 D.私有成员125.在定义一个派生类时,若不使用保留字显式地规定采纳何种继承方式,则默认为(A)方式。A.私有继承 B.非私有继承C.爱护继承 D.公有继承126.建立包含有类对象成员的派生类对象时,自动调用构造函数的执行挨次依次为(C)的构造函数。A.自己所属类、对象成员所属类、基类B.对象成员所属类、基类、自己所属类C.基类、对象成员所属类、自己所属类D.基类、自己所属类、对象成员所属类127.当派生类中有和基类一样名字的成员时,一般来说,(B)oA.将产生二义性 B.派生类的同名成员将掩盖基类的成员C.是不能允许的 D.基类的同名成员将掩盖派生类的成员128.C+中的虚基类机制可以保证:(D)。A.限定基类只通过一条路径派生出派生类B.允许基类通过多条路径派生出派生类,派生类也就能多次继承该基类C.当一个类多次间接从基类派生以后,派生类对象能保留多份间接基类的成员D.当一个类多次间接从基类派生以后,其基类只被一次继承129.下列对派生类的描述中错误的说法是:(D)。A.派生类至少有一个基类B.派生类可作为另一个派生类的基类C.派生类除了包含它直接定义的成员外,还包含其基类的成员D.派生类所继承的基类成员的访问权限保持不变130.派生类的对象对其基类中(C)可直接访问。A.公有继承的公有成员B.公有继承的私有成员C.公有继承的爱护成员D.私有继承的公有成员