C++习题讲解PPT课件_第1页
C++习题讲解PPT课件_第2页
C++习题讲解PPT课件_第3页
C++习题讲解PPT课件_第4页
C++习题讲解PPT课件_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精选,1,C+习题讲解,精选,2,第六章类和对象(二),一.选择题1.已知一个类A,(C)是指向类A成员函数的指针。假设类有三个成员函数voidf1(int),voidf2(int)和inta。A.A*PB.intA:*pc=&A:aC.VoidA:*paD.A*pp指向成员函数的指针格式如下:(:*)()其中的类型说明符是和成员函数的返回值类型是相同的。2.运算符-*的功能是(A)A.使用对象指针通过指向成员的指针表示成员的运算符,精选,3,B.使用对象通过指向成员的指针表示成员的运算符C.用来表示指向对象指针的成员的运算符D.用来表示对象的成员的运算符3已知f1(int)是类A的公有成员函数,p是指向成员函数f1()的指针,采用(B)是正确的P=f1P=A:f1P=A:f1()P=f1()正确格式应该是指向函数的指针名类名:函数名已知:p是一个指向类数据成员m的指针,A1是类的一个对象如果要给m赋值为,(C)是正确的.AA1.P=5A1-p=5A1.*p=5*A1.p=5正确赋值格式应该是对象名指针名数值,精选,4,已知类中一个成员函数说明如下:voidset(A&a),其中A&a的含义是()指向类的指针为aa将的地址值赋给变量a是类的对象引用,用来作为set()的参数变量与a按位相与作为函数set()的参数下列定义中(B)是定义指向数组的指针P.int*p5int(*p)5(int*)p5int*p指向数组的指针的定义格式如下:类型说明符(指针名)大小下列说明中constchar*ptr,ptr应该是()指向字符常量的指针指向字符的常量指针,精选,5,指向字符串常量的指针指向字符串的常量指针常量指针还分两种,其一是指向的地址值是常量,另一种指向的值是常量已知print()函数是一个类的常成员函数,它无返回值,下列表达式中正确的是()Avoidprint()constconstvoidprint()voidconstprint()voidprint(const)常成员函数的定义格式如下:类型说明符函数名(参数表)const具有类型转换功能的构造函数,应该是()不带参数的构造函数带有一个参数的构造函数带有两个以上参数的构造函数默认构造函数具有类型转换功能的构造函数只有一个参数,精选,6,二判断题指向对象的指针和指向类的成员函数的指针在表示形式上是不相同的正确指向类的成员函数的指针的表示形式如下(:*)()指向对象的指针表示形式如下类名*指针名对象名指向对象的指针与对象都可以作为函数参数,但是使用前者比后者好些正确使用前者可以实现传址调用,还不进行对象副本的复制,提高运行效率对象引用作为函数参数比用对象指针更方便正确因为对象引用比对象指针更简单更直接,精选,7,对象数组的元素是不同类的对象错误定义对象数组的时候,前面要加类名,所以对象数组的元素是属于同一个类的指向对象数组的指针不一定必须指向数组首元素正确一维对象指针数组的每个元素应该是某个类的对象的地址值正确一个能够更新的变量使用在一个不能被更新的环境中是不破坏类型保护的,反之亦然错误Const用于变量时是可以改变Const的属性的一个类的构造函数可以不包含对其子对象的初始化错误类的构造函数的功能就是用给定的值对对象进行初始化,精选,8,三分析程序结果输出结果是starting:defaultconstructorcalleddefaultconstructorcalleddefaultconstructorcalledEnding1:Starting2:Constructor:a=5,b=6Constructor:a=7,b=8Constructor:a=9,b=10Ending2:,精选,9,Destructorcalled.a=9,b=10Destructorcalled.a=7,b=8Destructorcalled.a=5,b=6Destructorcalled.a=3,b=4Destructorcalled.a=1,b=22输出结果是DefaultconstructorcalledDefaultconstructorcalledDefaultconstructorcalledDefaultconstructorcalledDestructorcalledConstructor1called,精选,10,DestructorcalledConstructor2calledDestructorcalledX=0,y=0X=5,y=0X=2,y=3DestructorcalledDestructorcalledDestructorcalled输出结果是Constructorcalled.0Constructorcalled.5,精选,11,Destructorcalled.55Destructorcalled.54输出结果是Destructorcalled.55Destructorcalled.55输出结果是DefaultconstructorcalledConstructor:real=6.8,image=0Constructor:real=5.6,image=7.90+0i,精选,12,6.8+0i5.6+7.9iConstructor:real=1.2,image=3.4Constructor:real=5,image=0Defaultconstructorcalled1.2+3.4i5+0i0+0i6输出结果是27.2,精选,13,第七章继承性和派生类,一选择题下列关于赋值兼容规则的描述中错误的是()赋值兼容规则在子类型情况下才可使用公有继承下,派生类对象不可给基类对象赋值公有继承下,派生类对象可给基类对象引用初始化公有继承下,派生类对象的地址值可以赋给基类的对象指针规则是派生类对象可以赋值给基类的对象,派生类对象的地址值可以赋给基类的对象指针,派生类对象可以用来给基类对象引用进行初始化,前提是在公有继承条件下派生类是基,精选,14,类的子类关于多继承二义性的描述中错误的是()一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性解决二义性的最常用方法是用成员名的限定法基类和派生类中同时出现的同名函数,也存在二义问题一个派生类是从两个基类派生来的,而这两个基类又有一个公共的基类,对该基类成员进行访问时,也可能出现二义性问题两点:派生类的多个基类中调用其同名成员时可能出现二义性,派生类有共同基类时访问公共基类成员可能出现二义性,解决的方法一般是成员名限定法,精选,15,二判断题在公有继承中,基类的公有成员和私有成员在派生类中都是可见的错误其中私有成员是不可见的在私有继承中,基类中所有成员对派生类的对象都是不可见的正确基类的所有成员都不能被派生类多访问在保护继承中,对于派生类的访问同于公有继承,而对于派生类的对象的访问同于私有继承正确保护继承的特点是:基类的所有公有成员和保护成员都作为派生类的保护成员,并且只能被它的派生类成员函数或友员访问,而不能为派生类的对象访问,精选,16,派生类中至少包含了它的基类的所有成员,在这些成员中可能有的不可访问正确构造函数可以被继承错误构造函数是不能被继承的,派生类中由基类说明的数据成员应该由基类中的构造函数进行初始化只要类继承了类,就可以说类是类的子类错误并不是错有的继承都可以成其子类关系,公有继承可以实现子类型化如果类型是类型的子类型,则类型必然适应于类型正确多继承情况下,派生类的构造函数中基类构造函数的,精选,17,执行顺序取决于定义派生类时所指定的各基类的顺序正确派生类构造函数执行顺序是先执行所有基类的构造函数,在执行派生类本身的构造函数处于同一层的各基类构造函数的执行顺序取决于定义派生类时指定的各基类顺序单继承情况下,派生类中对基类成员的访问也会出现二义性错误单继承中对基类成员的访问不会出现二义性虚基类可以解决多继承中公共基类在派生类中只产生一个基类子对象的问题正确引进虚基类后,派生类中的对象中只存在一个虚基类的对象三分析程序结果,精选,18,输出结果是(,),(,)输出结果是(,)(,),(,)输出结果是(,)输出结果是,精选,19,D:display()Pri1=4,Pri2=5Pri4=6Pri2=7D:display()Pri1=12,Pri2=9Pri4=7Pri2=85输出结果是D:display()Pri1=,Pri2=Pri4=6,精选,20,Pri2=7D:display()Pri1=,Pri2=Pri4=7Pri2=8,精选,21,第章多态性和虚函数,一选择题下列函数中()是不能重载的成员函数非成员函数析构函数构造函数构造函数和成员函数都可以重载,非成员函数也可以重载,只有析构函数不可以重载下列重载函数的描述中,()是错误的重载函数中不允许使用默认参数重载函数中编译系统根据参数表进行选择不要使用重载函数来描述毫不相干的函数,精选,22,构造函数重载将会给初始化带来多种方式重载函数是允许使用默认参数的下列关于运算符重载的描述中正确的是()运算符重载可以改变操作数的个数运算符重载可以改变优先级运算符重载可以改变结合性运算符重载不可以改变语法结构重载运算符,不改变原运算符的优先级和结合性,也不可以改变操作数个数和语法结构运算符重载函数是()成员函数友员函数内联函数带默认参数的函数,精选,23,运算符可以重载为类的成员函数和友员函数关于虚函数的描述中,()是正确的虚函数是一个static类型的成员函数虚函数是一个非成员函数基类中说明了虚函数后,派生类中可不必将其对应的函数说明为虚函数派生类的虚函数与基类的虚函数具有不同的参数个数和类型虚函数是成员函数但是是非static的,派生类中的虚函数与基类的虚函数具有相同的参数个数,对应的参数类型相同下列描述中,()是抽象类的特性,精选,24,可以说明虚函数可以进行构造函数重载可以定义友员函数不能说明对象抽象类不能用来定义对象,可以定义对象指针和对象引用二判断题函数的参数个数和类型相同,只是返回值不同,这不是重载正确多数运算符可以重载,个别运算符不能重载,运算符重载是通过函数定义实现的正确对单目运算符重载为友员函数时,说明一个形参;重载为成员函数时,不能显式说明形参正确重载为成员函数时,不能再显式说明形参,重载为友员函数时,有一个参数,精选,25,虚函数用virtuel关键字说明成员函数正确构造函数说明为虚函数没有意义正确虚函数是通过引用和指针完成动态绑定,这样构造函数是不能被调用的抽象类是指一些没有说明对象的类错误抽象类是不能用来说明对象的,但是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论