首页 《C++语言程序设计》作业题

《C++语言程序设计》作业题

举报
开通vip

《C++语言程序设计》作业题PAGE1PAGE1《C++语言程序设计》作业题一、判断题()1、写在类体内的函数都是内联函数。()2、通常的拷贝初始化构造函数的参数是某个对象的指针名。()3、重载运算符可改变原运算符的优先级和结合性。()4、在设置了默认参数值后,调用函数的对应实参就必须省略。()5、析构函数是一种函数体为空的成员函数。()6、某类的友元类的所有成员函数可以存取或修改该类中的私有成员。()7、对象数组的元素可以是不同类的对象。()8、函数的参数个数、类型及位置都相同,只是函数返回值类型不同,这不是重载函数.()9、派...

《C++语言程序设计》作业题
PAGE1PAGE1《C++语言程序设计》作业题一、判断题()1、写在类体内的函数都是内联函数。()2、通常的拷贝初始化构造函数的参数是某个对象的指针名。()3、重载运算符可改变原运算符的优先级和结合性。()4、在设置了默认参数值后,调用函数的对应实参就必须省略。()5、析构函数是一种函数体为空的成员函数。()6、某类的友元类的所有成员函数可以存取或修改该类中的私有成员。()7、对象数组的元素可以是不同类的对象。()8、函数的参数个数、类型及位置都相同,只是函数返回值类型不同,这不是重载函数.()9、派生类是从基类派生出来的,但它不能再生成新的派生类。()10、构造函数和析构函数都不能重载.()11、在公有继承中,基类中只有公有成员对派生类的对象是可见的.()12、this指针是一个指向正在被某个成员函数操作的对象的指针。()13、一维对象指针数组的每个元素应该是某个类的对象的地址值。()14、在C++中,定义函数时必须给出函数的类型。()15、析构函数是一种函数参数表为空的成员函数。()16、派生类的继承方式有两种:公有继承和私有继承。()17、自身类对象的引用不可以作为该类的成员。()18、多重继承情况下,派生类中对基类成员的访问不会出现二义性。()19、可以在类的构造函数中对静态数据成员进行初始化.()20、多重继承情况下,派生类的构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序。       ()21、在单继承情况下,派生类中对基类成员的访问不会出现二义性.()22、转换函数不是成员函数,它是用来进行强制类型转换的。()23、在公有继承中,基类中的保护成员对派生类对象是可见的。()24、虚基类是用来解决多继承中公共基类在派生类中只产生一个基类子对象的问题。()25、在保护继承中,基类中的公有成员对派生类对象是可见的。()26、抽象类是指一些不能定义对象的类。()27、虚函数是用virtual关键字说明的成员函数.()28、动态联编是在运行时选定所要调用的成员函数的。()29、声明派生类时,在派生类的头部都要明确列出其直接基类和间接基类.()30、在C++中对于运算符重载,只能重载已有的运算符。()31、在程序中可以直接调用构造函数。()32、解决多继承情况下出现的二义性的方法之一是使用作用域运算符。()33、函数重载是一种多态现象,它属于动态联编。()34、友元函数、友元类的声明可以放在类定义中的任何地方.()35、抽象类是一些不能实例化的类,即不能定义对象的类。()36、const对象不能随意被修改,但const成员函数可以修改const对象。()37、拷贝初始化构造函数的参数只能是对某个对象的引用。()38、类的公有静态成员既可以用类的对象访问,也可以用作用域运算符通过类名访问.()39、拷贝初始化构造函数的参数可以是某类的对象名。()40、在类体外定义的函数若没有关健字inline说明,则都是外联函数。()41、C++中的所有函数调用都是传引用调用。()42、析构函数说明为虚函数是没有意义的。()43、派生类的构造函数的成员初始化列表中,可以包含基类的子对象初始化。()44、构造函数说明为虚函数是没有意义的。()45、对每个可重载的运算符来说,它既可以重载为友元函数,又可以重载为成员函数,还可以重载为非成员函数。()46、C++中的所有函数调用都是传值调用。()47、使用关键字class定义的类中,缺省的访问权限是公有(public)的。()48、使用关键字class定义的类中,缺省的访问权限是私有(private)的.()49、如果一个成员函数只存取类的静态数据成员,则可将该成员函数说明为静态成员函数。()50、说明和定义类的对象时,类名前面不需要加class关键字。二、填空1、如果一个函数没有返回值,定义时需用类型说明符______说明.2、通常的拷贝初始化构造函数的参数是___________。3、对象成员的表示与结构体成员的表示相同,使用运算符____或____。4、已知:p是一个指向类A数据成员m的指针,a1是类A的一个对象,如果要给对象a1的数据成员m赋值为5,应____________赋值。5、C++中,继承分为单继承和_____,而继承方式可分为_____、______、______。6、任何类中允许有三种类型的成员,它们分别是______、_______、_______。7、________能够用来访问当前作用域内与局部变量同名的全局变量。8、在类内部定义的_____和_____成员不能被不属于该类的成员函数来存取,定义为______的成员则可以在类外部进行存取.9、静态数据成员的赋初值是在________进行。10、C++的函数如果在返回类型、参数类型、参数个数、_______上有所不同,则认为是不同的函数(注:对于同名函数而言)。11、如果不能成功地分配所需要的内存时,new返回____。12、在编译时将所用函数的代码嵌入到主调函数中,这种函数称为________.13、如果静态成员函数中要引用非静态成员时,可通过_____来引用。14、当使用delete运算符释放一个对象时,delete会自动调用_______。15、从一个基类派生的继承为单继承,从多个基类派生的继承为_______。16、多继承下,可能造成对基类中某个成员访问的________.17、如果想要使公共基类在派生类中只产生一个基类子对象,则必须将这个基类设为______.18、面向对象程序设计的三大特征是封装性、继承性和________。19、多态从实现的角度来讲可以划分为两类,编译时的多态和_______。20、将运算符++重载为类的友元函数时,定义前置++有____个参数,而定义后置++有___个参数.21、抽象类不能实例化,即不能定义一个抽象类的_______。22、关键字______、______、______和_______在C++中用来建立新的数据类型.23、定义在类内部的函数为________,编译器会在调用该函数处,将函数代码的拷贝在调用函数处展开.24、在类定义时如果没有定义构造函数,编译系统会自动生成一个_______。25、类的______成员只能被该类的成员函数或友元访问。26、使关键字class定义的类中缺省的访问权限是________.27、一个类中只可能定义_____个析构函数。28、当一个类的成员是另一个类的对象时,该对象称为_______。29、静态数据成员在定义或说明时前面要加上关键字_______。30、C++程序必须包含头文件_________后,才能使用输入输出流。31、在说明const变量时,必须对该变量_______。32、在需要基类对象的任何地方都可以使用________的对象来代替。33、带有纯虚函数的类是________。34、动态联编可以通过_____或引用所标识的对象来操作虚函数。35、_____限定符用来声明只读变量。36、公有成员函数的集合称为类的_______.37、重载不能改变运算符的_________和_______。38、运算符______动态分配一个对象。39、_________能够定义一个在不同数据类型基础上完成同一任务的函数。40、每个对象都维护了一个指向自身的指针,这个指针称为______指针。41、处于同一层次的各基类构造函数的执行顺序取决于________所指定的各基类的顺序。42、_______是用来初始化类的数据成员的一种特殊的成员函数。43、受保护的成员不能被外界引用,但它可以被派生类的________引用。44、静态联编工作是在________阶段完成的.45、在C++中,对虚函数来说,不能声明_______,但可以声明虚析构函数46、______成员函数的实现中不能直接引用类中说明的非静态成员。47、constchar*p说明了p是指向_______的指针。48、通常,类的成员函数的访问模式是________,数据成员的访问模式是_______。49、当用受保护的继承从基类派生一个类时,基类的公有成员成为派生类的______成员,基类的受保护成员成为派生类的_______成员。50、如果一个类包含一个或多个纯虚函数,则该类为________。三、选择题1、下列有关类的说法不正确的是________。类是一种用户自定义的数据类型;只有类中的成员函数或友元函数才能存取类中的私有成员;在类中,如果不作特别说明,所有的数据均为私有类型;在类中,如果不作特别说明,所有的成员函数均为公有类型;2、局部变量可以隐藏全局变量,那么在有同名全局变量和局部变量的情形时,可以用_______提供对全局变量的访问。①作用域运算符②指针运算符③提取运算符④插入运算符3、类 模板 个人简介word模板免费下载关于员工迟到处罚通告模板康奈尔office模板下载康奈尔 笔记本 模板 下载软件方案模板免费下载 的使用实际上是将类模板实例化成一个具体的________。①函数②对象③类④类的成员4、下列输出字符‘d’的方法中,______是错误的.①cout〈〈put(‘d');②cout〈<’d’;③cout。put(‘d');④chara=’d’;cout〈”一起,将从键盘输入的数送到变量中保存起来;使用标准输入流,必须包含头文件”stdlib.h”;34、_____是构造函数的特征。构造函数的函数名与类名不同;一个类中只能定义一个构造函数;构造函数可以设置缺省参数;构造函数必须指定类型说明;35、C++语言中规定函数的返回值的类型是由_______.return语句中的表达式类型所决定;调用该函数的主调用函数类型决定;调用该函数时系统临时决定;④在定义该函数时所指定的函数类型所决定;36、下列对派生类的描述中,______是错的。一个派生类可以作为另一个派生类的基类;派生类中继承的基类成员的访问权限到派生类保持不变;派生类的成员除了它自己的成员外,还包含了它的基类的成员;派生类至少有一个基类;37、带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化_____。① 与虚基类下面的派生类个数有关;  ② 多次;③ 二次;              ④ 一次;38、关于继承中出现的二义性的描述中,______是错的。一个派生类的两个基类中都有某个同名成员,在派生类中对这个成员的访问可能出现二义性;解决二义性的最常用的方法是对成员名的限定法;在单继承情况下,派生类中对基类成员的访问也会出现二义性;一个派生类是从两个基类派生出来的,而这两个基类又有一个共同的基类,对该基类成员进行访问时,也可能出现二义性;39、已知f1()是类A的公有成员函数,p是指向成员函数f1()的指针,采用_____是正确的.① p=f1;②p=A::f1;③p=A::f1();④p=f1();40、关于动态联编的下列描述中,______是错误的。动态联编是以虚函数为基础的;动态联编是在运行时确定所调用的函数代码的;动态联编调用函数操作是用指向对象的指针或对象引用;④动态联编是在编译时确定操作函数的;41、下面是面向对象程序设计的特点,而______不是的.①多态性            ②封装性③隐藏性④继承性42、关于成员函数特征的下述描述中,_____是错误的。①成员函数一定是内联函数;②成员函数可以重载;③成员函数可以设置参数的缺省值;④成员函数可以是静态的。43、关于delete运算符的下列描述中,_____是错的。①它必须用于new返回的指针;②它也适用于空指针;③对一个指针可以使用多次该运算符;④指针名前只用一对方括号,不管所删除数组的维数。44、设置虚基类的目的是_____.① 简化程序;            ② 消除二义性;③ 提高运行效率;          ④ 减少目标代码;45、下列运算符中,_____运算符在C++中不能重载。① ?: ②+ ③new ④〈=46、下列关于运算符重载的描述中,_____是正确的。运算符重载可以改变运算数的个数;运算符重载可以改变优先级;运算符重载可以改变结合性;④运算符重载不可以改变语法结构;47、如果一个类至少有一个纯虚函数,那么就称该类为_____。① 抽象类            ② 虚基类③ 派生类            ④ 以上都不对48、对基类和派生类的关系描述中,_____是错误的。①派生类是基类的具体化;②派生类是基类的子集;③派生类是基类定义的延续;④派生类是基类的组合;49、已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,____是正确的。①voidprint()const②constvoidprint()③voidconstprint()④voidprint(const)50、派生类的对象对它的基类成员中,_____是可以访问的。①公有继承的公有成员;     ②公有继承的私有成员;③公有继承的保护成员;     ④私有继承的公有成员。四、简答题什么叫做静态成员函数?它有何特点?2、在继承体制中,试分析基类中某成员函数是虚函数与不是虚函数有何不同?     3、试解释纯虚函数与函数体为空的虚函数的相似及不同之处。4、为什么说C++中的运算符〈〈和〉〉是重载的运算符?5、什么是动态联编?在什么情况下可以实现动态联编?6、拷贝初始化构造函数是一特殊的成员函数,在什么情况下系统会自动调用它?7、多继承下,可能造成对基类中某个成员访问的不唯一性,称为对基类成员访问的二义性问题。试举例说明,多继承时,在什么情况下会产生二义性?8、如果在类模板的定义中有一个静态数据成员,则在程序运行中会产生多少个相应的静态变量?9、派生类的对象可以赋给基类对象,反过来行吗?为什么?10、构造函数可以是虚函数吗?试说明。五、写出下列程序的运行结果1、#include”iostream.h”classA{public:A(inti=0){m=i;cout〈<”Constructorcalled。”〈〈m〈classFOO{public:FOO(inti){cout〈<”Constructing.\n”;pointer=newint;*pointer=i;}FOO(constFOO&other){cout<<"CopyConstructing。\n”;pointer=newint;*pointer=*other。pointer;}~FOO(){cout<<"Destructing\n";deletepointer;}intget(){return*pointer;}private:int*pointer;};voiddisplay(FOOobj){cout〈〈obj.get()〈〈"\n”;return;}voidmain(){FOOobj1(15);FOOobj2=obj1;display(obj2);}Constructing。CopyConstructing.CopyConstructing.15DestructingDestructingDestructing11\#include〈iostream。h>classA{public:intn;};classB:publicA{};classC:publicA{};classD:publicB,publicC{intgetn(){returnB::n;}};voidmain(){Dd;d。B::n=10;d。C::n=20;cout〈〈d。B::n<〈","〈〈d.C::n<classSample{private:inti;staticintcount;public:Sample();voiddisplay();};Sample::Sample(){i=0;count++;}voidSample::display(){cout〈〈”i="<classBase1{public:virtualvoiddisplay()const;};voidBase1::display()const{cout<<"Base1::display()"<〈endl;}classBase2:publicBase1{public:voiddisplay()const;};voidBase2::display()const{cout<<”Base2::display()"〈〈endl;}classDerived:publicBase2{public:voiddisplay()const;};voidDerived::display()const{cout<<”Derived::display()”<〈endl;}voidfun(Base1*ptr){ptr->display();}voidmain(){Base1base1;Base2base2;Derivedderived;fun(&base1);fun(&base2);fun(&derived);}运行结果:Base1::display()Base2::display()Derived::display()15.用一句话概括下面程序的功能,并在”//”后加上注释。#include”iostream.h"#include"fstream.h”voidmain(){charch;ifstreammyin(”file_from");if(!myin)//=1\*GB3①cout<〈”cannotopenfile:file_from”;ofstreammyout("file_to”);if(!myout)cout<<”cannotopenfile:file_to";while(myin。get(ch))myout.put(ch);//=2\*GB3②myin。close();myout。close();}功能:______________________________________________________功能是:将文件file_from的内容复制到文件file_to中。(3分)注释=1\*GB3①:判断是否可以打开文件,myin=0为不可以,myin=1为可以。(1分)注释=2\*GB3②:向文件读、写数据。(1分)16\ classBase{public:virtualvoidfn(intx){cout〈<"InBaseclass,intx="<
本文档为【《C++语言程序设计》作业题】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
职业文档123
本人法律文书、合同、协议的编写起草修改等
格式:doc
大小:109KB
软件:Word
页数:35
分类:小学语文
上传时间:2021-11-23
浏览量:0