C++考试复习题及答案.doc
《C++考试复习题及答案.doc》由会员分享,可在线阅读,更多相关《C++考试复习题及答案.doc(7页珍藏版)》请在咨信网上搜索。
一、选择题 (1)下面关于类和对象的描述中,错误的选项是 A)类就是C语言中的结构体类型,对象就是C语言中的结构体变量 B)类和对象之间的关系是抽象和具体的关系 C)对象是类的实例,一个对象必须属于一个的类 D)类是具有共同行为的假设干对象的统一描述体 (2)以下各选项组中,均是C++语言关键字的组是 A) public operator this B)shod string static C)it while >= D)private cout printf (3)在C++语言中,数据封装要解决的问题是 A)数据的规化 B)便于数据转换 C)防止数据丢失 D)防止不同模块之间数据的非法访问 (4)以下程序中,错误的行是 ①#include<iostream. h> ②class A ③{ ④ public: ⑤ int n=2: ⑥ A( int val){cout<<val<<endl;} ⑦ ~A(){}; ⑧}; ⑨void main() ⑩{ ⑩ A a(0); ⑩} A)⑤ B)⑥ C)⑦ D)⑩ (5)对类的构造函数和析构函数描述正确的选项是 A)构造函数可以重载,析构函数不能重载 B)构造函数不能重载,析构函数可以重载 C)构造函数可以重载,析构函数也可以重载 D)构造函数不能重载,析构函数也不能重载 (6)下面程序的运行结果为 #include(iostream. h> class A { int num; public: A(int i){num=i;} A(A &a){num=a. num++;} void print(){cout<<num;} }; void main() { A a(1),b(a); a. print(); b.print(); A)11 B)12 C)21 D)22 (7)下面对静态数据成员的描述中,正确的选项是 A)静态数据成员是类的所有对象共享的数据 B)类的每个对象都有自己的静态数据成员 C)类的不同对象有不同的静态数据成员值 D)静态数据成员不能通过类的对象调用 (8)如果类A被说明成类B的友元,那么 A)类A的成员即类B的成员 B)类B的成员即类A的成员 C)类A的成员函数不得访问类B的成员 D)类B不一定是类A的友元 (9)可以用p.a的形式访问派生类对象P的基类成员a,其中a是 A)私有继承的公有成员 B)公有继承的私有成员 C)公有继承的保护成员 D)公有继承的公有成员 (10)建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为 A)abc B)acb C)cab D)cba (11)下面关于虚函数的描述,错误的选项是 A)在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数 B)基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数 C)虚函数可以是另一个类的友元函数,但不能是静态成员函数 D)基类中说明的纯虚函数在其任何派生类中都必须实现 (12)下面关于模板的描述,错误的选项是 A)函数模板和类模板的参数可以是任意的数据类型 B)类模板不能直接使用,必须先实例化为相应的模板类.然后定义了模板类的对象后才能使用 C)函数模板不能直接使用,需要实例化为模板函数后才能使用 D)类模板的成员函数都是模板函数 (13)语句ofstream f(〞SALARY. DAT",ios::app iios::binary);的功能是建立流对象f,试图打开文件SALARY. D AT并与之连接,并且 A)假设文件存在,将文件写指针定位于文件尾;假设文件不存在,建立一个新文件 B)假设文件存在,将其置为空文件;假设文件不存在,打开失败 C)假设文件存在,将文件写指针定位于文件首;假设文件不存在,建立一个新文件 D)假设文件存在,打开失败;假设文件不存在,建立一个新文件 (14)下面程序的运行结果是 #include<iostream. h> void main() { int num=1; int &ref=num; ref=ref+2; cout<<num; num=num+3; cout<<ref<<endl; } A)13 B)16 C)36 D)33 〔15〕 假定AB为一个类,那么该类的拷贝构造函数的声明语句为 。 A. AB &(AB x) B. AB(AB x) C. AB(AB &) D. AB(AB * x) 〔16〕对于结构中定义的成员,其隐含访问权限为 。 A. public B. protected C. private D. static 〔17〕当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 。 A. ios::in B. ios::out C. ios::int | ios::out D. 没有 (18)以下关于C++语言类的描述中错误的选项是 A)类用于描述事物的属性和对事物的操作 B)类与类之间通过封装而具有明确的独立性 C)类与类之间必须是平等的关系,而不能组成层次结构 D)类与类之间可以通过一些方法进展通信和联络 (19)以下描述中哪个是正确的。 A)私有派生的子类无法访问父类的成员 B)类A的私有派生子类的派生类C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的 C)私有派生类不能作为基类派生子类 D)私有派生类的所有子类将无法继续继承该类的成员 (20)以下关于构造函数说法不正确的选项是 A)构造函数必须与类同名 B)构造函数可以省略不写 C)构造函数必须有返回值 D)在构造函数中可以对类中的成员进展初始化 (21)如果友元函数重载一个运算符时,其参数表中没有任何参数那么说明该运算符是 A)一元运算符 B)二元运算符 C)选项A)和选项B)都可能 D)重载错误 (22)在重载一个运算符时,如果其参数表中有一个参数,那么说明该运算符是 A)一元成员运算符 B)二元成员运算符 C)一元友元运算符 D)选项B)和选项C)都可能 (23)以下关于模板的说确的是 A)模板的实参在任何时候都可以省略 B)类模板与模板类所指的是同一概念 C)类模板的参数必须是虚拟类型的 D)类模板中的成员函数全部都是模板函数 (24)表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是 A) showbase()和eof() B)showpoint()和eof() C)showpoint()和bad() D)showpoint()和good() (25)一个类的友元函数能够访问该类的 A)私有成员 B)保护成员 C)公有成员 D)所有成员 (26)C++语言对C语言做了很多改良,C++语言相对于C语言的最根本的变化是 A)增加了一些新的运算符 B)允许函数重载,并允许设置缺省参数 C)规定函数说明符必须用原型 D)引进了类和对象的概念 (27)对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,以下不是访问控制属性的是 A)公有类型 B)私有类型 C)保护类型 D)友元类型 (28)在类的定义中,用于为对象分配存空间,对类的数据成员进展初始化并执行其他部管理操作的函数是 A)友元函数 B)虚函数 C)构造函数 D)析构函数 (29)类的析构函数的作用是 A)一般成员函数的初始化 B)类的初始化 C)对象的初始化 D)删除类创建的对象 (30)以下说确的是 A)联函数在运行时是将该函数的目标代码插入每个调用该函数的地方 B)联函数在编译时是将该函数的目标代码插入每个调用该函数的地方 C)类的联函数必须在类体定义 D)类的联函数必须在类体外通过加关键字inline定义 (31)下面对静态数据成员的描述中,正确的选项是 A)静态数据成员可以在类体进展初始化 B)静态数据成员不可以被类的对象调用 C)静态数据成员不能受private控制符的作用 D)静态数据成员可以直接用类名调用 (32)下面对于友元函数描述正确的选项是 A)友元函数的实现必须在类的部定义 B)友元函数是类的成员函数 C)友元函数破坏了类的封装性和隐藏性 D)友元函数不能访问类的私有成员 (33)在公有派生情况下,有关派生类对象和基类对象的关系,以下表达不正确的选项是 A)派生类的对象可以赋给基类的对象 B)派生类的对象可以初始化基类的引用 C)派生类的对象可以直接访问基类中的成员 D)派生类的对象的地址可以赋给指向基类的指针 (34)下面程序的运行结果为 #include<iostream. h> class A { public: A(){cout<<〞1〞;} ~A(){cout<<〞2〞;} } class B:public A { public: B(){cout<<〞3〞;} ~B(){cout<<〞4〞;} } void main() { B b; } A)1234 B)1324 C)1342 D)3142 (35)以下关于虚基类的描述,错误的选项是 A)设置虚基类的目的是为了消除二义性 B)虚基类的构造函数在非虚基类之后调用 C)假设同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用 D)假设虚基类由非虚基类派生而来,那么仍然先调用基类构造函数,再调用派生类的构造函数 (36)以下关于多态性的描述,错误的选项是 A)C++语言的多态性分为编译时的多态性和运行时的多态性 B)编译时的多态性可通过函数重载实现 C)运行时的多态性可通过模板和虚函数实现 D)实现运行时多态性的机制称为动态绑定 (37)以下运算符中,在C++语言中不能重载的是 A)* B)>= C):: D)/ (3831 )定义静态成员函数的主要目的是 A)方便调用 B)有利于数据隐蔽 C)处理类的静态成员变量 D)便于继承 (39)设有以下类和对象的定义: class A { public: int m; …… }; A k1, k2, *p1, *p2; 那么下面针对成员变量m的引用,错误的选项是 A)k1.m=1 B)k2一>m=2 C)pl一>m=3 D)(*p2).m=4 (40)有关构造函数的说法中错误的选项是 A)构造函数名字和类的名字一样 B)构造函数在说明类变量时自动执行 C)构造函数无任何函数类型 D)构造函数有且只有一个 (41)关于友元的描述中错误的选项是 A)友元函数可以访问该类的私有数据成员 B)一个类的友元类中的成员函数都是这个类的友元函数 C)友元可以提高程序的运行效率 D)类和类之间的友元关系可以继承 (42)在面向对象方法中,实现信息隐蔽是通过对象的某一特性来实现的,这个特性是 A)封装 B)类 C)对象 D)继承 二、填空题 (1)在面向对象的程序设计中,类描述的是具有相似性质的一组 【1】 。(对象) (2) C++语句const char * const p="hello" , ,所定义的指针p和它所指的容都不能被 【2】 。 (3) C++语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取 【3】 方式。 (4)继承的方式有公有继承、私有继承和 【4】 3种。 (5)表达式operator+(x,y)还可以表示为 【5】 。 (6)类模板的使用实际士:是将类模板实例化成一个具体的 【6】 。 (7)在面向对象方法中,类之间共享属性和操作的机制称为 【7】 。【继承】 (8)通过使用new和delete两个运算符进展的分配为 【8】 存储分配。 (9)在C++语言中,访问一个对象的成员所用的运算符是 【9】 ,访问一个指针所指向的对象的成员所用的运算符是 【10】 。 (10) C++语言支持的两种多态性分别是编译时的多态性和 【11】 的多态性。 (11)如果要把返回值为void的函数A声明为类B的友元函数,那么应在类B的定义中参加的语句是 【12】 。 (12)如果类B继承了类A,那么称类A为类B的基类,类B称为类A的 【13】 。 (13)将x+y中的+运算符用友元函数重载应写为 【14】 。 〔14〕非成员函数应声明为类的 【15】 函数才能访问这个类的private成员。 〔15〕派生类中的成员不能直接访问基类中的 【16】 成员。 (16)派生类的成员一般分为两局部,一局部是 【17】 ,另一局部是自己定义的新成员。 (17)在面向对象的程序设计中,用来请求对象执行某一处理或回答某些信息的要求称为【18】 (18)假定要动态分配一个类型为Worker的具有n个元素的数组,并由r指向这个动态数 组,那么使用的语句是【19】。 (19)将关键字const写在函数头之后,函数体之前,说明该函数是一个const成员函数。 比时const不是指定函数的返回值,而是修饰【20】指针。 (20)假设要在程序文件中进展标准输入输出操作,那么必须在开始的#include命令中使用 头文件【21】。 三、阅读下面程序,写出程序运行结果 1、 #include<iostream. h> int c; //全局变量 class A { private: int a; static int b; public; A(){a=0;c=0;} void seta(){a++;} void setb(){b++;} void setc(){c++;} void display(){cout<<a<<〞 〞<<b<<〞 〞<<c;} }; int A::b=0; void main() { A al,a2; al.seta(); al.setb(); al.setc(); a2.seta(); a2.setb(); a2.setc(); a2.display(); 一、选择题答案 (1)A (2)A(3)D (4)A (5)A (6)C (7)A (8)D (9)D (10)A (11)B (12)A (13)A (14)C (15)C (16) A (17)D (18)C (19)B (20)C (21)D (22)D (23)D (24)B (25)D 〔26〕D (27) D (28) C (29) D (30) B (31) D (32) C (33) C (34) C (35) B(36) C (37) C(38) C(39) B (40) D (41)D(42)A 二、填空题答案 (1)【1】对象 (2)【2】改变 (3)【3】传地址 (4)【4】保护继承 (5)【5】x+y (6)【6 】类 (7)【7】继承 (8)【8】动态 (9)【9】成员选择运算符(或〞.〞) 【10】成员访问运算符(或〞->〞) (10)【11】运行时 (11)【12】friend void A(): (12)【13】派生类 (13)【14】 operator+(x,y) (14)【15】友元 (15)【16】 私有 (16)【17】从基类继承的成员 (17)【18】消息 (18)【19】Worker *r=new Worker[n] () <iostream> 三、1.122 7 / 7- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 考试 复习题 答案
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文