分享
2023年整理面向对象课程设计期末考试复习.docx
下载文档

ID:1654498

大小:27.32KB

页数:18页

格式:DOCX

时间:2023-04-22

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2023 整理 面向 对象 课程设计 期末考试 复习
[整理面向对象课程设计期末考试复习] 一、选择题:(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)。 class CSample { int a=2.5; //(A) CSample(); //(B) public: CSample(int val); //(C) ~CSample(); //(D) }; 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 说明静态数据成员时前边要加修饰符static B 静态数据成员要在类体外进行初始化 C 引用静态数据成员时,要在静态数据成员名前加“类名〞和作用域运算符 D 静态数据成员不是所有对象所共用的 17.p是一个指向类Sample数据成员m的指针,s是类Sample的一个对象。如果要给 m赋值为5,(C)是正确的。 A s.p=5 B s->p=5 C s.xp=5 D xs.p=5 18.一个类Sample,(C)是定义指向类Sample成员函数的指针,假设类有3个公有成 员:void f1(int), void f2(int) 和int a。 A Sample xp B int Sample::xpc= 其中,Sample A 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 template B template C template D template 37.类模板template class X {…},其中,友元函数f成为从该类模板实例化的每个 模板类的友元,那么其说明应为(A)。 A friend void f(); B friend void f(X C friend void A::f(); D friend void C::f(X B friend void f(X C friend void A::f(); D friend void C::f(X public: void get(); //. }; class B:A { int k; public: void make(); //. }; void B::make() { k=ixj; } 那么上述定义中,(D)是非法的表达式。 A void get(); B int k; C void make(); D k=ixj; 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的派生类。类的构造如下:请填写出正确的输出结果。 #include { int x; public: data(int x){data::x=x; coutstr; 当输入 Object Windows Programming! 所得的结果是str=( B )。 A Object Windows Programming! B Object C Object Windows D Object Windows Programming 69.进行文件操作时需要包含(B)文件。 A iostream.h B fstream.h C stdio.h D stdlib.h 70.使用如setw()的操作符对数据进行格式输出时,包含(C)文件。 A iostream.h B fstream.h C iomanip.h D stdlib.h 71.int a, xpa= 输出指针pa十进制的地址值的方法是(D)。 A cout A cout A 该函数是用来从键盘上读取字符串的 B 该函数读取的字符串长度是受限制的 C 该函数读取字符串时,遇到终止符时便停止 D 该函数中所使用的默认终止符是换行符 74.关于read()函数的以下描述中,(D)是对的。 A 该函数是用来从键盘输入中获取字符串 B 该函数所获取的字符的多少是不受限制的 C 该函数只能用于文本文件的操作中 D 该函数只能按规定读取所指定的字符数 75.在ios中提供控制格式的标志位中,(A)是转换为十六进制形式的标志位。 A hex B oct C dec D left

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开