整理面向对象课程设计期末考试复习资料

上传人:xg****9 文档编号:633321 上传时间:2019-07-13 格式:DOCX 页数:61 大小:40.62KB
返回 下载 相关 举报
整理面向对象课程设计期末考试复习资料_第1页
第1页 / 共61页
整理面向对象课程设计期末考试复习资料_第2页
第2页 / 共61页
整理面向对象课程设计期末考试复习资料_第3页
第3页 / 共61页
点击查看更多>>
资源描述
一、选择题:(20 小题,每小题 1 分,共 20 分)/答案仅供参考1.下面关于对象概念的描述中, (A )是错误的。A 非曲直对象就是 C 语言中的结构体变量B 对象代表着正在创建的系统中的一个实体C 对象是一个状态和操作(或方法)的封装体D 对象之间的信息传递是通过消息进行的2.下面关于类概念的描述中, (D)是错误的。A 类是抽象数据类型的实现B 类是具有共同行为的若干对象的统一描述体C 类是创建对象的样板D 类就是 C 语言中的结构体类型3.C+对 C 语言作了很多改进,下列描述中(D)使得 C 语言发生了质变,即从面向过程变成对象。A 增加了一些新的运算符B 允许函数重载,并允许设置默认参数C 规定函数说明必须用原型D 引进了类和对象的概念4.对定义重载函数的下列要求中, (D)是错误的。A 要求参数的个数不同B 要求参数中至少有一个类型不同C 要求参数个数相同时,参数类型不同 D 要求函数的返回值不同5.系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是(D) 。A 参数不同B 参数的类型C 函数名称 D 函数的类型6.下列对重载函数的描述中, (A)是错误的。A 重载函数中不允许使用默认参数B 重载函数中编译是根据参数表进行选择C 不要使用重载函数来描述毫无相干的函数D 构造函数重载将会给初始化带来多种方式7.有以下类的说明,请指出错误的地方(A) 。8.有关类的说法错误的是(D) 。A 类是一种用户自定义的数据类型B 只有类中的成员函数才能存取类中的私有数据C 在类中,如果不作特别说明,所指的数据均为私有类型D 在类中,如果不作特别说明,所指的成员函数均为公有类型9.有关类和对象的说明错误的是(C) 。A 对象是类的一个实例B 任何一个对象只能属于一个具体的类C 一个类只能有一个对象D 类与对象的关系和数据类型和变量的关系相似10.有关构造函数的说法错误的是( D) 。A 构造函数名字和类的名字一样B 构造函数在说明类变量时自动执行C 构造函数无任何函数类型D 构造函数有且只有一个11.(D )不是构造函数的特征。A 构造函数的函数名与类名相同B 构造函数可以重载C 构造函数可以设置默认参数D 构造函数必须指定函数类型说明12.通常的拷贝初始化构造函数的参数是(C) 。A 某个对象名B 某个对象的成员名 C 某个对象的引用名 D 某个对象的指针名13.有关析构函数的说法错误的是( D) 。A 析构函数有且只有一个 B 析构函数无任何函数类型C 析构函数和构造函数一样可以有形参D 析构函数的作用是在对象被撤消时收回先前分配的内存空间14.(A)是析构函数的特征。A 一个类中只能定义一个析构函数B 析构函数名与类名不同C 析构函数的定义只能在类体内D 析构函数可以有一个或多个参数15.关于成员函数特征的下述描述中, (A )是错误的。A 成员函数一定是内联函数B 成员函数可以重载C 成员函数可以设置参数的默认值D 成员函数可以是静态的16.下述静态数据成员的特性中, (D)是错误的。A 说明静态数据成员时前边要加修饰符 staticB 静态数据成员要在类体外进行初始化C 引用静态数据成员时,要在静态数据成员名前加“类名”和作用域运算符D 静态数据成员不是所有对象所共用的17.已知 p 是一个指向类 Sample 数据成员 m 的指针,s 是类Sample 的一个对象。如果要给 m 赋值为5, (C )是正确的。A s.p=5B s-p=5C s.*p=5D *s.p=518.已知一个类 Sample, (C )是定义指向类 Sample 成员函数的指针,假设类有 3 个公有成员: voidf1(int), void f2(int) 和 int a。A Sample *pB int Sample:*pc=其中,SampleA int B int C int D float 23.下列引用的定义中, (B )是错误的。A int i; int B int I; int j=i;C float i; float D char d; char 24.若有int i;int i=5;j=i+1;则 i=( 6 ),j=( 6 )。25.一个类的友元函数能够访问该类的( D) 。A 私有成员B 保护成员C 公有成员D 所有成员26.下列的各类函数中, (C)不是类的成员函数。A 构造函数B 析构函数C 友元函数D 拷贝初始化构造函数27.下面关于友元的描述中,错误的是( D) 。A 友元函数可以访问该类的私有数据成员B 一个类的友元类中的成员函数都是这个类的友元函数C 友元可以提高程序的运行效率D 类与类之间的友元关系可以继承28.下列运算符中, (A)运算符在 C+中不能重载。A ?:B +C -D obj2 被 C+编译器解释为(A ) 。A operator(obj1,obj2)B (obj1,obj2)C obj2.operator(obj1)D obj1.operator(obj2)32.类模板的使用实际上是先将类模板实例化为(D) ,再实例化成一个具体的(B) 。A 类B 对象C 函数D 模板类33.一个(C)允许用户为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数和返回值能取多种数据类型。A 函数模板B 模板函数C 类模板D 模板类34.类模板的模板参数( D) 。A 只可作为数据成员的类型B 只可作为成员函数的返回类型C 只可作为成员函数的参数类型D 以上三者皆可35.模板是实现类属机制的一种工具,它的功能非常强大,它是元约束类属机制和约束类属机制的集合,它既允许用户构造类属函数,即(A) ;也允许用户构造类属类,即(C ) 。A 模板函数B 函数模板C 模板类D 类模板36.以下对模板的说明,正确的是( C) 。A templateB templateC templateD template37.类模板 template class X ,其中,友元函数 f 成为从该类模板实例化的每个模板类的友元,则其说明应为(A) 。A friend void f();B friend void f(XC friend void A:f();D friend void C:f(XB friend void f(XC friend void A:f();D friend void C:f(Xpublic:void get();/.;class B:Aint k;public:void make();/.;void B:make()k=i*j;则上述定义中, (D)是非法的表达式。A void get();B int k;C void make();D k=i*j;42.在多继承中,公有派生和私有派生对于基类成员在派生类中的可访问性与单继承的规则(A) 。A 完全相同B 完全不同C 部分相同,部分不同D 以上都不对43.派生可以分为(A)和( C) 。由(C)得到的派生类,其基类的所有公有成员都只能成为它的私有成员,这些私有成员只能被派生类的成员函数访问,而通过(B)无权访问它;(A)的意义是基类中所有公有成员在派生类中也都是公有的。A 公有派生B 派生类的对象C 私有派生 D 派生类的构造函数44.基类的(B )不能为派生类的成员访问,基类的(A )在派生类中的性质和继承的性质一样,而基类的(D)在私有继承时在派生类中成为私有成员,在公有和保护继承时在派生类中仍为保护成员。A 公有成员B 私有成员C 私有成员函数D 保护成员45.(A)提供了类对外部的界面, (B)只能被类的成员访问,而(D)不允许外界访问,但允许派生类的成员访问,这样既有一定的隐藏能力,又提供了开放的界面。A 公有成员B 私有成员C 私有成员函数 D 保护成员46.下列对派生类的描述中, (D)是错误的。A 一个派生类可以作另一个派生类的基类B 派生类至少有一个基类C 派生类的成员除了它自己的成员外,还包含了它的基类的成员D 派生类中继承的基类成员的访问权限到派生类保持不变47.派生类的对象对它的基类成员中( A)是可以访问的。A 公有继承的公有成员B 公有继承的私有成员C 公有继承的保护成员D 私有继承的公有成员48.对基类和派生类的关系描述中, (B )是错误的。A 派生类是基类的具体化B 派生类是基类的子集C 派生类是基类定义的延续D 派生类是基类的组合49.派生类的构造函数的成员初始化列表中,不能包含(C) 。A 基类的构造函数B 派生类中子对象的初始化C 基类的子对象初始化D 派生类中一般数据成员的初始化50.关于多继承二义性的描述中, (C)是错误的。A 一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性B 解决二义性的最常用的方法是对成员名的限定C 基类和派生类中出现同名函数,也存在二义性问题D 一个派生类是从两个基类派生来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,也可能出现二义性51.设置虚基类的目的是( B) 。A 简化程序B 消除二义性C 提高运行效率D 减少目标代码52.对于派生类的构造函数,在定义对象时构造函数的执行顺序:先执行(A ) ,再执行(B) ,后执行(C) 。A 基类的构造函数B 成员对象的构造函数C 派生类本身的构造函数53.有 4 个类:data 为基类,它含有一个需传递一个参数的构造函数,用它来为其私有成员 x 赋值,并显示一句话;类 a 中含有一个 data 类的成员对象;类 b 为类 a的派生类,并在其中也含有一个 data 类的成员对象;类 c 是类 b的派生类。类的构造如下:请填写出正确的输出结果。#includeclass dataint x;public:data(int x)data:x=x; coutclass personchar *name;int age;char *add;public:person() coutstr;当输入Object Windows Programming!所得的结果是 str=( B )。A Object Windows Programming!B ObjectC Object WindowsD Object Windows Programming69.进行文件操作时需要包含( B)文件。A iostream.hB fstream.hC stdio.hD stdlib.h70.使用如 setw()的操作符对数据进行格式输出时,包含(C )文件。A iostream.hB fstream.hC iomanip.hD stdlib.h71.已知 int a, *pa= 输出指针 pa 十进制的地址值的方法是(D) 。A coutpa;B cout*pa;C coutD coutlong(pa); 72.下列输出字符A的方法中, (A )是错误的。A coutput(A);B coutA;C cout.put(A);D char A=A; coutA;73.关于 getline()函数的下列描述中, (D)是错误的。A 该函数是用来从键盘上读取字符串的B 该函数读取的字符串长度是受限制的C 该函数读取字符串时,遇到终止符时便停止D 该函数中所使用的默认终止符是换行符74.关于 read()函数的下列描述中, (D)是对的。A 该函数是用来从键盘输入中获取字符串B 该函数所获取的字符的多少是不受限制的C 该函数只能用于文本文件的操作中D 该函数只能按规定读取所指定的字符数75.在 ios 中提供控制格式的标志位中, (A)是转换为十六进制形式的标志位。A hexB octC decD left76.控制格式 I/O 的操作中, (D)是设置域宽的。 A ws B oct C setfill() D setw()77.磁盘文件操作中,打开磁盘文件的访问模式常量时, (C)是以追加方式打开文件的。A inB outC appD ate78.当使用 ifstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式是(A) 。A ios:inB ios:outC ios:truncD ios:binary79.下列函数中, (D)是对文件进行写操作的。A get()B read()C seekg()D put()80.C+中用 3 个保留字实现异常处理,除了 try 和 catch 外,还有(C) 。A ifB classC throwD return81.catch()一般放在其他 catch 子句的后面,该子句(B ) 。A 抛掷异常B 捕获所有类型的异常C 检测并处理异常D 有语法错误81下列关于动态联编的描述中,错误的是(D) 。A动态联编是以虚函数为基础;B动态联编是运行时确定所调用的函数代码的;C动态联编调用函数操作是指用对象的指针或对象引用;D动态联编是在编译时确定操作函数的。82运行时的多态性可以通过使用(A )获得。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 演讲稿件


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!