面向对象程序设计 C 复习题

合集下载

《面向对象程序设计c》综合复习题集及答案详解

《面向对象程序设计c》综合复习题集及答案详解

《面向对象程序设计c》综合复习题集及答案详解综合复习题集一、单选题1.C++源程序文件的缺省扩展名为(A)。

A.cppB.e某eC.objD.lik2.由C++源程序文件编译而成的目标文件的缺省扩展名为(C)。

A.cppB.e某eC.objD.lik3.由C++目标文件连接而成的可执行文件的缺省扩展名为(B)。

A.cppB.e某eC.objD.lik4.编写C++程序一般需经过的几个步骤依次是()。

A.编译、编辑、连接、调试B.编辑、编译、连接、调试C.编译、调试、编辑、连接D.编辑、调试、编辑、连接5.以下标识符中不全是保留字的是()。

A.caeforintB.defaultthenwhileC.boolclalongD.gotoreturnchar6.能作为C++程序的基本单位是()。

A.字符B.语句C.函数D.源程序文件7.程序中主函数的名字为()。

A.mainB.MAINC.MainD.任意标识符8.C++程序的基本模块为()。

A.表达式B.标识符C.语句D.函数9.可用作C++语言用户标识符的一组标识符是()。

A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaeD.2aDOizeof10.存储以下数据,占用存储字节最多的是()。

A.0B.‘0’C.“0”D.0.011.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用()符号作为分隔符。

A.空格或逗号B.逗号或回车C.逗号或分号D.空格或回车12.设”inta=12;”,则执行完语句”a+=a某a;”后,a的值是()。

A.12B.144C.156D.28813.假设在程序中a、b、c均被定义成整型,所赋的值都大于1,则下列能正确表示代数式1/abc的表达式是()。

A.1.0/a某b某cB.1/(a某b 某c)C.1/a/b/(float)cD.1.0/a/b/c14.设”inta=15,b=26;”,则”cout<A.15B.26,15C.15,26D.2615.设某是一个bool型的逻辑量,y的值为10,则表达式某&&y的值为()。

c面向对象程序设计期末考试题及答案

c面向对象程序设计期末考试题及答案

c面向对象程序设计期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪个是面向对象程序设计的特点?A. 封装B. 继承C. 多态D. 所有选项都是2. 在Java中,以下哪个关键字用于定义类?A. classB. structC. typeD. classdef3. 以下哪个是Java中不允许的类成员访问修饰符?A. publicB. protectedC. privateD. global4. 以下哪个是Java中实现多态的方式?A. 函数重载B. 函数重写C. 接口D. 抽象类5. 在Java中,哪个关键字用于声明一个方法,该方法没有返回值?A. voidB. returnC. noneD. null6. 以下哪个是Java中创建对象的语法?A. new ClassName();B. create ClassName;C. make ClassName;D. ClassName();7. 在Java中,以下哪个是正确的构造方法声明?A. public ClassName();B. public ClassName new();C. public new ClassName();D. public ClassName create();8. 以下哪个是Java中实现继承的方式?A. 使用extends关键字B. 使用implements关键字C. 使用interface关键字D. 使用new关键字9. 在Java中,以下哪个关键字用于实现接口?A. implementsB. extendsC. interfaceD. class10. 以下哪个是Java中实现封装的方式?A. 使用public关键字B. 使用private关键字C. 使用protected关键字D. 使用default关键字答案:1. D2. A3. D4. B5. A6. A7. A8. A9. A10. B二、简答题(每题10分,共20分)1. 简述面向对象程序设计中的“封装”概念及其重要性。

C++面向对象技术复习题汇总(含答案)

C++面向对象技术复习题汇总(含答案)

面向对象程序设计C++复习资料与答案第一、二、六、七章习题一、选择题1、系统约定C++源程序文件名的缺省的扩展名为()A、bccB、c++C、cppD、vcc2、面向对象的程序设计将数据与( )放在一起,作为一个相互依存、不可分割的整体来处理.A、对数据的操作B、信息C、数据隐藏D、数据抽象3、当一个函数无返回值时,函数的类型应定义为()A、voidB、任意C、intD、无4、对于C++的函数,正确的叙述是:A、函数的定义不能嵌套,但函数的调用可以嵌套B、函数的定义不能嵌套,但函数的调用不能嵌套C、函数的定义和调用都不能嵌套D、函数的定义和调用都可以嵌套5、下列语句中错误的是( )A、int *p=new int(10);B、int *p=new int[10]C、int *p=new int;D、int *p=new int[40](0);6、假设已经有定义:const char *const name=”chen”;,下面的语句中正确的是:()A、name[3]=’a’;B、name=”lin”;C、name=new char[5]; D、cout<〈name[3];7、假设已经定义:char *const name=”chen”;, 下面的语句中正确的是:( )A、name[3]=’q';B、name=”lin”;C、name=new char[5];D、name=new char(‘q’);8、假设已经定义:const char *name=”chen”;,下面的语句中错误的是:( )A、name[3]=’q’;B、name=”lin”;C、name=new char[5];D、name=new char(‘q’);9、下面的类型声明中正确的是:( )A、int &a[4];B、int &*p;C、int &&qD、int i,*p=&i;10、假设定义了函数模板( )template 〈class T>T max(T x,T y){ return(x>y)?x:y;}并定义了int i;char c;错误的调用语句是:()A、max(i,i)B、max(c,c)C、max((int)c,i);D、max(i,c)11、模板的使用是为了( )A、提高代码的可重用性B、提高代码的运行效率C、加强类的封装性D、实现多态性12、设有二个语句:int x[‘a’];cin>>x;则编译器认为()A、说明语句int x[‘a’]错B、二个语句都错C、语句cin〉〉x 错D、二个语句正确,没有语法错13、设有语句:void f(int a[10],int &x);int y[10],*py=y,n;则对函数f的正确调用语句是( )A、f(py[10],n);B、f(py,n)C、f(*py,&n)D、f(py,&n)14、在C++中实现封装是借助于()A、枚举B、类C、数组D、函数15、对于下面几个函数:(1) void f(int x,float y){……}(2) int f(int a,float b){…… }(3) int f(int i,int j){……}(4) float k(int x){…… }是重载函数。

C#面向对象程序设计期末复习题

C#面向对象程序设计期末复习题

面向对象程序设计测试题一、单选题1、改变窗体的标题,需修改窗体的什么属性( A )A)Text B)Name C)Title D)Index2、打开代码编辑器的功能键是( C )A)F1 B)F5 C)F7 D)F123、加载窗体时触发的事件是( B )A)Click B)Load C)Gotfocus D)DoubleClick4、设置计时器时间间隔的属性是( C )A)Enabled B)Name C)Interval D)Modifiers5、数据类型为Long的数据在内存中占用几个字节数( D )A) 2 B) 4 C) 4 D) 86、如果要使文本框能够多行显示,则应使什么属性设为True。

( A )A) MultiLine B) MaxLength C) SelLength D) Locked7、图片框控件可显示图像,若想使图片框自动改变大小,以适应装入的图片,应修改SizeMode 属性值为( B )A) Normal B) AutoSize C) StretchImage D) CenterImage8、要使文本框成为密码输入框,一般应修改文本框的什么属性( C )A)PasswordChar属性和MaxLength属性,并且 MultiLine属性值只能为False。

B)PasswordChar属性和MaxLength属性,并且Lines属性值只能为False。

C)只修改PasswordChar属性值就可以了,其他属性可以不修改。

D)PasswordChar属性和MaxLength属性, MultiLine属性值可以为True。

10、以下四组属性中,决定对象的大小的一组属性为:( A )A)width, height B)left, top C)forecolor,backcolor D)right,buttom11、下面哪个控件在程序运行时是不可见的( c )A)单选钮 B)组合框 C)组件 D)框架12、有两个数组s1和s2,要将s1的内容“拷贝”一份给s2,应使用( B )A)s2=s1 B)s2=string.copy(s1) C)s2=s1.Clone D)s2=s1.All13、下面哪种不是循环结构( A )A)Try…Catch…Finally B)For…NextC)For Each…Next D)Do…Loop14、用于专门输入日期时间型数据的控件是(B )A)Timer B)DateTimePicker C)ListBox D)TextBox15、要以表格形式显示数据表,可以使用以下什么控件(B )A)ListBox B)DataGridView C)DataSet D)TextBox16、C#项目文件的扩展名是( B )A) .sln B) .csproj C) .proj D).cs17、C#中,用什么属性标识不同的对象( B )A)Text B)Name C)Title D)Index18、菜单项标题中含有带下划线的字符,这是( B )A)快捷键 B)访问键 C)选取标记 D)菜单禁用19、可以通过改变什么属性,改变复选框的状态( C )A)value B)checked C)style D)appearance20、在C#中,用什么对象来创建弹出式菜单( B )A)Menu B)contextMenustrip C)Menustrip D)Mainmenu21、SQL语句分为三类,分别是:( C )A) create delete modify B) select update editC) DDL DML DCL D) create alter drop22、下面哪种语言不是面向对象程序设计语言( D )A) JAVA B) C# C) D) PHP23、对象的三个基本要素,它们是( B )A)对象的名称、值和所属类 B)对象的属性、事件和方法C)对象的大小、存储方式和内容 D)对象的访问方法、存储方式和名称24、在使用OpenfileDialog对话框控件时,希望通过对话框查找到 (*.txt) 类型的文件和所有文件(*. *),则该控件的filter属性应该如何设置( B )A)文本文件 (*.txt): *.txt; 所有文件 (*. *): *. *B)文本文件 (*.txt)|*.txt|所有文件 (*. *)|*. *C)文本文件 (*.txt)\*.txt\所有文件 (*. *)\*. *D)文本文件 (*.txt)->*.txt; 所有文件 (*. *)->*. *25、要创建多文档应用程序,需要将父窗体的什么属性设置为true ( D )A) DrawGrid B) ShowInTaskbar C) Parent D) IsMdiContainer26、下列不属于容器类控件的是( d )A)Panel控件 B)GroupBox控件 C)TabControl控件 D)listBox控件27、下列对象模型中,用于生成并执行SQL语句的对象是( B )A)Connection对象 B)Command对象 C)DataSet对象 D)DataReader对象28、使用DataSet 类定义数据集对象,应在代码开始处添加对什么命名空间引用。

《面向对象程序设计C 》期末试卷及标准答案

《面向对象程序设计C 》期末试卷及标准答案

《面向对象程序设计C++》期末考试试卷(B)一、单项选择题(每小题2分,共40分)1、关于C++与C语言关系的描述中,( )就是错误的。

A.C语言就是C++语言的一个子集B.C语言与C++语言就是兼容的C.C++语言对C语言进行了一些改进D.C++语言与C语言都就是面向对象的2、已知:int m=10; 下列表示引用的方法中,( )就是正确的。

A.int &x=m;B.int &y=10;C.int &z;D.float &t=&m;3、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*');下面函数调用中,不合法的就是( )。

A.testDefaulParam(5);B.testDefaulParam(5,8);C.testDefaulParam(5,'#');D.testDefaulParam(0,0,'*');4、系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的就是( )。

A.函数的返回值类型B.参数的类型C.函数名称D.参数个数5、下列有关C++类的说法中,不正确的就是( )。

A.类就是一种用户自定义的数据类型B.只有类中的成员函数或类的友元函数才能存取类中的私有成员C.在类中,如果不做特别说明,所有成员的访问权限均为私有的D.在类中,如果不做特别说明,所有成员的访问权限均为公用的6、已知X类,则当程序执行到语句X array[3];时,调用了( )次构造函数。

A.0B.1C.2D.37、有关析构函数的说法,不正确的就是( )。

A.析构函数有且仅有一个B.析构函数与构造函数一样可以有形参C.析构函数的功能就是在系统释放对象之前作一些内存清理工作D.析构函数无任何函数类型8、类定义的内容允许被其对象无限制地存取的就是( )。

面向对象程序设计C#.NET-期末试卷及答案

面向对象程序设计C#.NET-期末试卷及答案

期末考试试卷课程名称:面向对象程序设计C#.NET 适用年级/专业: 081/计算机试卷类别开卷(√)闭卷()学历层次本科考试用时 120分钟《考生注意:答案要全部抄到答题纸上,做在试卷上不给分》...........................///////////////////////////////////////////////////一、单项选择题(每小题1分,共20分)1. C#不支持的注释格式是。

A. //单行注释B. -- 单行注释C. /*多行注释*/ D. ///xml注释2. 以下标识符中,正确的是。

A. _nNameB. MainC. 6PtuerD. x5#3. Microsoft .Net Framework SDK内置的C#编译器是。

A.cs.exe B.javac.exe C. csc.exe D. scs.exe4. 以下说法中,正确的是。

A.Main函数是由C#语言提供的标准函数,不需要用户编写它的内容。

B.在C#程序中,要调用的函数必须在Main函数中定义。

C.在C#程序中,必须显式调用Main函数,它才起作用。

D.一个C#程序无论包含多少个函数,C#程序总是从Main函数开始执行。

5.派生类能够直接访问的基类的成员是。

A.抽象成员 B.保护成员C.私有成员D.静态成员6.下面是几条定义类的语句,不能被继承的类是。

A.abstract class Figure B.class FigureC.public class Figure D.sealed class Figure 7.下列数组初始化语句哪些是不正确的?。

A.int[] nums = new int[]{0,1,2,3,4};B.int[] nums2 = {0,1,2,3,4,5};C.int[][] num_1 = {new int[]{0,1},new int[]{0,1,2},newint[]{0,1,2,3}};D.int[][] num_2 = {{0,1},{0,1,2},{0,1,2,3}};8. 下面有关虚方法的描述正确的是。

《面向对象程序设计C 》期末试卷及答案

《面向对象程序设计C  》期末试卷及答案

选择题1.在C++中,函数原型不能标识( D )A.函数的返回类型B.函数参数的个数C.函数参数类型D.函数的功能2.在C++程序中,对象之间的相互通信通过( B )A.继承实现B.调用成员函数实现C.封装实现D.函数重载实现3.对于任意一个类,析构函数的个数最多为( B )A.0B.1C.2D.34.友元关系不能( A )A.继承B.是类与类的关系C.是一个类的成员函数与另一个类的关系D.提高程序的运行效率5.语句ofstream f(″SALARY.DAT″,ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT 并与之连接,并且( A )A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件6.下面说法正确的是( B )A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字inline 定义7.可以用p.a 的形式访问派生类对象p 的基类成员a,其中a 是( D )A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员8.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是( C )A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用C.派生类的对象可以直接访问基类中的成员D.派生类的对象的地址可以赋给指向基类的指针9. 派生类对象可访问基类中的什么成员( A )A.公有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.私有继承的公有成员10. 定义析构函数时,应该注意(C)A.其名与类名完全相同B.返回类型是void类型C.无形参,也不可重载D.函数体中必须有delete语句11. 如果类A被说明成类B的友元,则( D )。

总《面向对象程序设计c++》综合复习题集及答案详解

总《面向对象程序设计c++》综合复习题集及答案详解
char *p=x; while(*p++); return(p-x-1);
}
A. 求字符串的长度 B.将字符串x连接到字符串p后面
C. 将字符串x复制到字符串p中 D.将字符串x反向存放
47. 函数调用func((exp1,exp2),(exp3,exp4,exp5))中所含实参的个数为( )个。
30. switch语句能够改写为( )语句。
A. for B. if C. do D. while
31. do语句能够改写为( )语句。
A. 复合 B. if C. switch D. while
32. 在下面的一维数组定义中,哪一个有语法错误。( )
A. int a[]={1,2,3}; B. int a[10]={0};
38. 以下说法中正确的是( )。
A. C++程序总是从第一个定义的函数开始执行
B. C++程序总是从main函数开始执行
C. C++函数必须有返回值,否则不能使用函数
D. C++程序中有调用关系的所有函数必须放在同一个程序文件中
39. 以下叙述中不正确的是( )。
A. 在一个函数中,可以有多条return语句
9. 可用作C++语言用户标识符的一组标识符是( )。
A. void define +WORD
B. a3_b3 _123 YN
C. for -abc Case
D.2aDO sizeof
10. 存储以下数据,占用存储字节最多的是( )。
A. 0 B.‘0’C.“0”D. 0.0
11. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( )符号作为分隔符。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一选择题(共 45题)1.对类的构造函数和析构函数描述正确的是()。

A.构造函数可以重载,析构函数不能重载√B.构造函数不能重载,析构函数可以重载C.构造函数可以重载,析构函数也可以重载D.构造函数不能重载,析构函数也不能重载2.继承具有(),即当基类本身也是某一个类派生类时,底层的派生类也会自动继承间接基类的成员。

A)规律性 B.传递性√ C.重复性 D.多样性3.假设OneClass为一个类,则该类的复制初始化构造函数的声明语句为()。

(OneClass p); B. OneClass& (OneClass p );C. OneClass(OneClass & p);√D. OneClass (OneClass * p);4.对于结构中定义的成员,其默认的访问权限为()。

B. protected D. static5.下面对静态数据成员的描述中,不正确的是()。

A.静态数据成员可以在类体内进行初始化√B.静态数据成员不可以在类体内进行初始化C.静态数据成员能受private控制符的作用D.静态数据成员调用前必须初始6. C++中的类有两种用法:一种是类的实例化,即生成类对象,并参与系统的运行;另一种是通过()派生了新的类。

A.复用B.继承√C.封装D.引用7. 假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a 的格式为()。

A. x(a)B. x[a]C. x->aD. √9. 对于一个类的构造函数,其函数名与类名( )。

A. 完全相同√B. 基本相同C. 不相同D. 无关系10. 一个类的构造函数通常被定义为该类的( )成员。

A. 公有√B. 保护C. 私有D. 友元11. 一个类的析构函数通常被定义为该类的( )成员。

A. 私有B. 保护C. 公有√D. 友元12. 一个类的静态数据成员所表示属性 ( )。

A. 是类的或对象的属性B. 只是对象的属性C. 只是类的属性√D. 类和友元的属性13.类的析构函数的作用是()。

A.一般成员函数 B.类的初始化 C.对象初始化D.删除对象之前的善后工作√14.下列对基类和派生类关系的描述中,错误的是()。

A.派生类是基类的具体化B.派生类是基类的子集√C.派生类是基类定义的延续 D.派生类是基类的组合15.下列对派生类的描述中,错误的是()。

A.一个派生类可以作为另一个派生类的基类 B.派生类至少有一个基类C.派生类的缺省继承方式是private D.派生类只继承了基类的公有成员和保护成员√16.下列对继承的描述中,错误的是()。

A.析构函数不能被继承B.派生类也是基类的组合C.派生类的成员除了它自己的成员外,还包含了它的基类的成员D.派生类中继承的基类成员的访问权限到派生类保持不变√17.派生类的对象对它的基类成员中()是可以访问的。

A.公有继承的公有成员√ B.公有继承的私有成员C.公有继承的保护成员 D.私有继承的公有成员18.下列说法错误的是()。

A.公有继承的基类中的public成员在派生类中仍是public的B.公有继承的基类中的private成员在派生类中仍是private的√C.私有继承的基类中的public成员在派生类中仍是private的D.保护继承的基类中的public成员在派生类中仍是protected的19.下面叙述错误的是()。

A.基类的protected成员在派生类中仍然是protected√B.基类的protected成员在public派生类中仍然是protected的C.基类的protected成员在private派生类中是private的D.基类的protected成员不能被派生类的对象访问20.设置虚基类的声明中,正确的是()。

A.简化程序B.消除二义性√C.提高运行效率D.减少目标代码21.关于虚函数的描述中,正确的是()。

A.虚函数是一个静态成员函数B.虚函数是一个非成员函数C.虚函数即可以在函数说明定义,也可以在函数实现时定义D.派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型√22.下列描述中,()是抽象类的特征。

A.可以说明虚函数B.可以进行构造函数重载C.可以定义友元函数D.不能说明其对象√23. 静态数据成员的初始化是在()中进行的。

A. 构造函数B. 任何成员函数C. 所属类D. 全局区√24. 当将一个类A或函数f()说明为另一个类B的友元后,类A或函数f()能够直接访问类B的()。

A. 只能是公有成员B. 只能是保护成员C. 只能是除私有成员之外的任何成员D. 具有任何权限的成员√25. 在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是()。

A. 作为友元函数重载的1元运算符B. 作为成员函数重载的1元运算符√C. 作为友元函数重载的2元运算符D. 作为成员函数重载的2元运算符26. 关于运算符重载,下列说法正确的是()。

A. 重载时,运算符的优先级可以改变。

B. 重载时,运算符的结合性可以改变。

C. 重载时,运算符的功能可以改变。

√D. 重载时,运算符的操作数个数可以改变。

27. 从一个基类派生出的各个类的对象之间( )。

A. 共享所有数据成员,每个对象还包含基类的所有属性B. 共享部分数据成员,每个对象还包含基类的所有属性C. 不共享任何数据成员,但每个对象还包含基类的所有属性D. 共享部分数据成员和函数成员√28. C++的继承性允许派生类继承基类的()。

A. 部分特性,并允许增加新的特性或重定义基类的特性√B. 部分特性,但不允许增加新的特性或重定义基类的特性C. 所有特性,并允许增加新的特性或重定义基类的特性D. 所有特性,但不允许增加新的特性或重定义基类的特性29. 派生类的成员函数可以直接访问基类的()成员。

A. 所有B. 公有和保护√C. 保护和私有D. 私有30. 当派生类中有和基类一样名字的成员时,一般来说,()。

A. 将产生二义性B. 派生类的同名成员将覆盖基类的成员√C. 是不能允许的D. 基类的同名成员将覆盖派生类的成员31.关于纯虚函数和抽象类的描述中,错误的是()。

A.纯虚函数是一种特殊的虚函数,它没有具体的实现B.抽象类是指具体纯虚函数的类C.一个基类中说明有纯虚函数,该基类派生类一定不再是抽象类√D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出32.如果一个类至少有一个纯虚函数,那么就称该类为()。

A.抽象类√ B.虚函数 C.派生类 D.以上都不对33.要实现动态联编,必须通过()调用虚函数。

A.对象指针√ B.成员名限定 C.对象名 D.派生类名34.以下()成员函数表示虚函数。

A.virtual int vf(int); B.void vf(int)=0;C.virtual void vf()=0; D.virtual void vf(int) { }; √40.下面描述中,正确的是()。

A.virtual可以用来声明虚函数√B.含有纯虚函数的类是不可以用来创建对象的,因为它是虚基类C.即使基类的构造函数没有参数,派生类也必须建立构造函数D.静态数据成员可以通过成员初始化列表来初始化35. 在成员函数中进行双目运算符重载时,其参数表中应带有()个参数。

A. 0B. 1 √C. 2D. 336. 在重载一运算符时,若运算符函数的形参表中没有参数,则不可能的情况是()。

A. 该运算符是一个单目运算符。

B. 该运算符函数有一个隐含的参数this。

C. 该运算符函数是类的成员函数。

D. 该运算符函数是类的友元函数。

√37. 下面对于友元函数描述正确的是()。

A.友元函数的实现必须在类的内部定义B.友元函数是类的成员C.友元函数破坏了类的封装性和隐藏性√D.友元函数不能访问类的私有成员38.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该当成员的访问权限定义为()。

A.public√ B.protected C.private D.ststic39.下面对静态数据成员的描述中,正确的是()。

A.静态数据成员是类的所有对象共享的数据√B.类的每一个对象都有自己的静态数据成员C.类的不同对象有不同的静态数据成员值D.静态数据成员不能通过类的对象调用++类体系中,不能被派生类继承的有()。

A.构造函数√ B.虚函数 C.静态成员函数 D.赋值操作函数41下列虚基类的声明中,正确的是()。

A.class virtual B:public A B.virtual class B:public AC.class B:public A virtual D.class B: virtual public A √42在下面的表达式中,不表示虚继承的是()。

A.virtual public B.public virtualC.public√ D. virtual43.下列关于动态联编的描述中,错误的是()。

A.动态联编是以虚函数为基础B.动态联编是运行时确定所调用的函数代码的C.动态联编调用函数操作是指向对象的指针或对象引用D.动态联编是在编译时确定操作函数的√44.下面4个选项中,()是用来声明虚函数的。

A.virtual√ B.public C.using D.false45.编译时的多态性可以通过使用( )获得。

AA.虚函数和指针√ B.重载函数和析构函数C.虚函数和对象 D.虚函数和引用二填空题(共 33题)1.重载插入运算符<<时,其运算符函数的返回值类型应当是ostream &。

2.派生类可以定义其基类中不具备的数据和操作。

3.对象将其大部分实现细节隐藏起来,这种机制称为封闭。

4.建立类和类的对象时,系统对类不分配内存,系统对对象分配内存。

5.基类和派生类的关系称为继承和派生。

6.当保护继承时,基类的公有或保护成员在派生类中成为保护成员,派生类对象不能直接访问基类的任何成员。

7. C++支持两种多态性:编译时的多态性(重载)和运行时的多态性(虚函数)。

、8.在C++中定义类时,通常是利用变量描述对象的“特征”; 利用函数描述对象的“行为”。

9.假定用户为类AB定义了一个构造函数"AB(int aa,char*bb=NULL):a(aa),b(bb){}”,则该类中至少包含有2个数据成员。

10.类是对象的抽象;而对象则是类的具体实例。

11.如果不做特殊说明,类成员的默认访问权限是私有;结构成员的默认访问权限是公有。

12.在定义对象的同时初始化其成员变量,需要利用构造函数,用于初始化变量的值可以是固定的常量,也可以通过参数获得。

13.在私有继承关系下,基类的公有成员和保护成员将成为派生类中的私有成员,它们只能由派生类的成员函数来访问;基类的私有成员将成为派生类中的不可访问的成员。

相关文档
最新文档