c++期末复习题和答案概要

上传人:今*** 文档编号:108065054 上传时间:2019-10-22 格式:PPT 页数:16 大小:391.50KB
返回 下载 相关 举报
c++期末复习题和答案概要_第1页
第1页 / 共16页
c++期末复习题和答案概要_第2页
第2页 / 共16页
c++期末复习题和答案概要_第3页
第3页 / 共16页
c++期末复习题和答案概要_第4页
第4页 / 共16页
c++期末复习题和答案概要_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《c++期末复习题和答案概要》由会员分享,可在线阅读,更多相关《c++期末复习题和答案概要(16页珍藏版)》请在金锄头文库上搜索。

1、C+期末复习题,BCBAB BCADA ACACC CABBB DBCAA CACC CC DDDCAA,一、选择题,1关于构造函数的叙述正确的是( )。 A构造函数可以有返回值 B构造函数的名字必须与类名完全相同 C构造函数必须带有参数 D构造函数必须定义,不能默认 2关于析构函数特征描述正确的是( )。 A一个类中可以有多个析构函数 B析构函数名与类名完全相同 C析构函数不能指定返回类型 D析构函数可以有一个或多个参数 3构造函数是在( )时被执行的。 A程序编译 B创建对象 C创建类 D程序装入内存 4定义A是一个类,那么执行语句“A a, b(3),*p;”调用了( )次构造函数。 A

2、2 B3 C4 D5 5在下列函数原型中,可以作为类Base析构函数的是( )。 AvoidBase BBase( ) CBase( )const DBase( ),6this指针是C+实现( )的一种机制。 A抽象 B封装 C继承 D重载 7已知类中的一个成员函数说明为:void Set (X &a)其中,X &a的含义是( )。 A指向类X的指针为a B将a 的地址赋给变量 Ca是类X的对象引用,用来作为Set( )的形参 D变量X与a按位与作为函数Set( )的形参 8下面关于友元函数的描述中,正确的说法是( )。 A友元函数是独立于当前类的外部函数 B一个友元函数不能同时定义为两个类的

3、友元函数 C友元函数必须在类的外部定义 D在外部定义友元函数时,必须加关键字friend 9一个类的友元函数能够访问该类的( )。 A私有成员 B保护成员 C公有成员 D所有成员 10友元的作用之一是( )。 A提高程序的运行效率 B加强类的封装性 C实现数据的隐藏性 D增强成员函数的种类,11函数重载的意义主要在于( )。 A使用方便,提高可读性 B提高执行效率 C减少存储空间开销 D提高程序可靠性 12下面关于重载函数的说法中正确的是( )。 A重载函数一定具有不同的返回值类型 B重载函数形参个数一定不同 C重载函数一定有不同的形参列表 D重载函数名可以不同 13一个函数功能不太复杂,但要

4、求被频繁调用,选用( )。 A内联函数 B重载函数 C递归函数 D嵌套函数 14将函数声明为内联函数的关键字是( )。 ARegister Bstatic Cinline Dextern 15在内联函数内允许使用的是( )。 A循环语句 B开关语句 C赋值语句 D以上都允许,16在C+中,下列关于参数默认值的描述中正确的是( )。 A设置参数默认值时,应当全部设置 B设置参数默认值后,调用函数不能再对参数赋值 C设置参数默认值时,应当从右向左设置 D只能在函数定义时设置参数默认值 17下列关于静态数据成员的叙述,错误的是( )。 A静态数据成员在对象调用析构函数后,从内存中撤销 B即使没有实例

5、化类,静态数据成员也可以通过类名进行访问 C类的静态数据成员是该类所有对象所共享 D类的静态数据成员需要初始化 18下列关于静态成员的叙述中,错误的是( )。 A类的外部可以直接调用类的静态数据成员和静态成员函数 B与一般成员一样,只有通过对象才能访问类的静态成员 C类的静态数据成员不能在构造函数中初始化 D类的一般成员函数可以调用类的静态成员 19声明类的成员为静态成员,必须在其前面加上关键字( )。 Aconst Bstatic Cpublic Dvirtual 20静态成员为该类的所有( )共享。 A成员 B对象 Cthis指针 D友元,21重载赋值操作符时,应声明为( )。 A静态成员

6、函数 B友元函数 C普通函数 D成员函数 22为了满足运算符+的可交换性,必须将其重载为( )。 A静态成员函数 B友元函数 C普通函数 D成员函数 23下列运算符中,( )运算符不能使用友元函数重载。 A B+ C= D+ 24在类的继承与派生过程中,关于派生类不正确的说法是( )。 A派生类可以继承基类的所有特性 B派生类只能继承基类的部分特性 C派生类可以重新定义已有的成员 D派生类可以改变现有成员的属性 25派生类对象对它的基类成员,( )是可以访问的。 A公有继承的公有成员 B公有继承的私有成员 C公有继承的保护成员 D私有继承的共有成员,26下列叙述中不正确的是( )。 A含纯虚函

7、数的类称为抽象类 B不能直接由抽象类建立对象 C抽象类不能作为派生类的基类 D纯虚函数没有其函数的实现部分 27当定义派生类的对象时,调用构造函数的正确顺序是( )。 A先调用基类的构造函数,再调用派生类的构造函数 B先调用派生类的构造函数,再调用基类的构造函数 C调用基类的构造函数和派生类的构造函数的顺序无法确定 D调用基类的构造函数和派生类的构造函数是同时进行的 28关于多重继承二义性的描述中,()是错误的。 A一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性 B解决二义性最常用的方法是对成员名的限定 C基类和派生类中出现同名函数,也存在二义性 D一个派生类

8、是从两个基类派生而来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,也可能出现二义性 29下列关于虚函数的说法,正确的是( )。 A虚函数是一个static类型的成员函数 B虚函数是一个非成员函数 C基类中采用virtual声明一个虚函数后,派生类中定义相同原型的函数时可以不加virtual声明 D派生类中的虚函数与基类中相同原型的虚函数具有不同的参数个数或类型,30关于虚函数和抽象类描述中,( )是错误的。 A纯虚函数是一种特殊的函数,它没有具体实现 B抽象类是指具有纯虚函数的类 C一个基类中声明有纯虚函数,则它的派生类一定不再是抽象类 D抽象类只能作为基类来使用,其纯虚函数的实

9、现由派生类给出,31下列程序,编译时出现错误的是( )。 class A /1 public: /2 A() Fun(); /3 virtual void Fun()=0; /4 ; A. 1 B. 2 C. 3 D. 4,32一个( )允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。 A函数模板 B模板函数 C类模板 D模板类 33如果一个模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都须重复使用关键字( )。 Aconst Bstatic Cvoid Dclass 34假设类模板Employee存在一个static数据成员salary,

10、由该类模板实例化3个模板类,那么存在( )个static数据成员的副本。 A0 B1 C2 D3 35.C+中,数据文件类型分为( )。 A文本文件和顺序文件 B顺序文件和随机文件 C文本文件和二进制文件 D数据文件和文本文件 36( )是标准输入流。 Acin Bcout Ccerr Dclog 37关于提取和插入运算符,下列说法不正确的是( )。 A可以重载为类的成员函数 B应该重载为类的友元函数 C提取运算符是从输入字符序列中提取数据 D插入运算符是把输出数据插入到输出字符序列中,二、 填空题,1在C+中,函数的参数有三种传递方式,它们是值传递、 和 。 2当一个成员函数被调用时,该成员

11、函数的 指向调用它的对象。 3在基类和派生类中,派生类可以定义其基类中不具备的数据和操作。对两个有相同名字的数据成员进行访问时,如果没有 ,对此数据成员的访问将出现歧义。 4拷贝构造函数使用 作为参数初始化创建中的对象。 5在公有继承的情况下,基类数据成员在派生类中的访问权限 。,地址或指针传递 引用传递,this指针,作用域分隔符限定时,引用,保持不变,6 描述命题“A小于B或小于C”的表达式为 。 7用new申请某一个类的动态对象数组时,在该类中必须能够匹配到 构造函数,否则应用程序会产生一个编译错误。 8静态数据成员在类外进行初始化,且静态数据成员的一个拷贝被类的所有对象 。 9为了避免

12、可能出现的歧义,C+对ifelse语句配对规则规定为:else总是与 配对。 10设“int a=3,b=4,c=5;”,表达式“(a+b)c&b=c”的值是 。,AB|AC,没有形参的或缺省参数,共享,与最近的if,0,11面向对象的程序设计有三大特征,它们是 。 12在Visual C+中,定义重载函数时,应至少使重载函数的参数个数或参数类型 ;在基类和派生类中,成员函数的覆盖是指 。 13构造函数与析构函数除功能不同外,在定义形式上,它们的区别还包括构造函数名与类名相同,而析构函数名是在类名前加一个、 。 14动态联编要满足两个条件,它们是 。 15在C+类中,有一种不能定义对象的类,这

13、样的类只能被继承,称之为 ,定义该类至少具有一个 。,封装、 继承 、 多态,不同,派生类成员函数与在基类被覆盖的成员函数名、参数个数、参数类型和返回值类型均相同,析构函数没有参数 、 析构函数可以定义 为虚函数,被调用的成员函数是虚函数 、 用指针或引用调用虚函数,抽象类,纯虚函数,16在C+类中,const关键字可以修饰对象和成员函数,const对象不能 ,const成员函数不能 。 17举出C+中两种用户自定义的数据类型: 。 18C+中没有字符串类型,字符串是通过 来表示的,每一个字符串都有一个结尾字符 。 19C+中没有输入输出语句,输入输出是通过 实现的, 写出一条打印整型变量n的

14、输出语句: ; 20举出C+中两种代码复用的方式: 。,被修改,修改类数据成员,类 、 枚举,字符数组,0,输入输出库,coutn,继承 、 复用,21 下面程序的运行结果是。 #include void main( ) int i=1; while (i=15) i+; if (i%3!=2) continue; else cout “i=“iendl; ,2 5 8 11 14,22 下面程序的运行结果是_。 #include class test private: int num; float fl; public: test( ); int getint( )return num; float getfloat( )return fl; test( ); ;,test:test( ) cout “Initalizing default“ endl; num=0;fl=0.0; test:test( ) cout “Desdtructor is active“ endl; void main( ) test array2; cout array

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号