还剩5页未读,继续阅读
文本内容:
《CH程序设计案例教程》期末试卷B题号—二三四总分得分*
一、单项选择题每题2分,共40分!L关于C++与C谙盲关系的描逑中,是错误的※※去※淡※I※※※米※※i A.C语言是C++语言的一个子集B.C语言与C++语言堂兼容的※※※※※生※※淡淡涣※|C.C++语言对C语言过行了一些改ii D.C++诵盲和C语言都是否向对象的※※米※※※※※※※※生\2,已知inlm=IO:下列表示引用的方法中,》是正确的.※※※淡淡※A.inx=m;B.inty=IO;C.intz;D.floatt=in;※※※※※※※※※※※生※※米※涣※
3、考虑下面的话数原里■明voidtcstDcfaulParaminta.intb=
7.charz=*;※※※米※※i下面函数调用中.不合法的是.※※※来※※※淡※淡淡※:A.tcstDcfaulParam5;B.tcstDciaulParanH
5.8※※※※※※※※※※※※米※※生淡※C.lesiDefaulParxinKS/#;D.tesiDefaulPafanHO.O.**;※※去米※※:
4.系统在调用电线函疑时往往根据一些条件嘀定用个重我函数被询用,在下列选项I中,不能※※※来※※※※※淡淡※作为依据的是.※※※※※※:A.函致的返回值类型B.奉致的美型C.函数名称D.参数个数※※※※※※米※※生淡※!5,下列有关C++美的说法中,不正确的是.※※去米※※|A.英是一种用户自定义的数据类型※※※※※※米※※淡淡※B.只有类中的成员函数或类的友元函数才能存取美中的私有成员※※去※※去IC.在美中,如果不做特别说明,所有成员的访问权限均为私有的※※※※※※米※※生淡※D.在美中,如果不做转别说明,所有成员的访问权限均方公用的※※去海※※|
6.已知X类.则当程序执行到语句Xarray
[3];时.调用了次构迫曲数.※※※※※※米※※淡淡※iA.0B.1C.2D.3※※去玄※※7,有关析构函数的说法,不正确的是A.析构函数有且女有一小B.析均所数和构造诙数一样可以有形*C.析我西数的功能是在系统铎效对象之前作一些内存清理工作D.析构田数无任何函数类型
8.类定义的内容允许被其对象无限制地存取的是.A.private部分B.protected部分C.public部分D.以上都不对※※去※淡※
9.关于常数据成员的说法,不正磴的是.※※※米※※※※※※※生A.常数据成员的定义形式与一般常变量的定义形式相同,只不过常数掘成员的定义必须出现在炎体中※※米※※※※※※※※生B.常致据成员必死进行初始化,并且不谯被更新※※※淡淡※※※※※※※C.常数据成员通过构退函数的成员初始化列表进行初始化※※※※※生D.常数据成员可以在定义时直接初始化※※米※涣※※※※米※※
10.运用运算符ddcle划除一个动影对象时.※※※来※※A.反统首先为该动态对象调用构造函数,再择放其占用的内存※淡※淡淡※※※※※※※B.系统首先存放该动态对象占用为内存,再为其调用构通函数※※※※※※C.系统首先为该动态对电调用析构函数.再择就其占用的内存米※※生淡※※※去米※※D.系统首先存放动态对免占用的内存,再为其调用析构函数※※※来※※IL可以在类外用p.a的形式访问派生类对象p的基类成员a.其中2是.※※※淡淡※※※※※※※A.私有继承的公用成员B.公用缚承的私有成员※※※※※※C.公用继承的保护成员D.公用继承的公用成员米※※生淡※※※去米※※
12.在公用雒承方式下,有关派生类对象和基类为象的关系,不正确的叙逑是.※※※※※※A,派生类的对象可以破/基美的对象米※※淡淡※※※去※※去B.素生类的对象可以初始化基类的引用※※※※※※C.派生类的对象可以直接访问基类中的成员米※※生淡※※※去海※※:13D,设.派置生应类基的类对的象目的的地是址<可以赋给指向基类的指针※※※※※※A.简化程序B.消除二义性C.提商运行效率米※※淡淡※I
14、在C++中.用于实现动态多态性的是※※去玄※※:|A
1.5内,不联能函说数明为虚函数的B是.重纸函微C.极板函蚊;A.析构函数B.构造西数C.我的成员函第!
16、如果一个美至少有一个蛇史函数,那么就称该类为E A.拍象类B.淞生类C.纯基类J17,下面关于友元的描述中,待识的是.D.减少目标代码\A.友元语数可以访问该类的私有数据成员IiB.一个类的友元类中的成员函数都是这个类的发元函数!C.友元可以提高程序的运行效率D.类与类之间的友元关系可以继承D.珑函数
18、下列运算符中,运算符在C++中不能被重戟.:A.B.[C.::D.以上都不对D.new.!
19、模或的使用实际上是将类模板实例化成一个.D.以上都不讨iA.周数B.对嵬C.类D.独象类i
20.假定MyGaw为一个类,别祓类的拷贝构道函数的声明话句为<.j A.MyChssMyClassx B.MyClassMyChs$x C.My<lassMyClassx D.MyChssMyClass*x
二、填空题前16个空,每空1分,后2个空,每空2分,共20分ik类和对象的关杲可表述方类是对象的.而对象则是类的
12.在C++中,三种继承方式的说明符号为.和.i如果不加说明,则缺认的维承方式为.
3.如果只想保留公共基炎的一个复制,就必须使用关键字把这个公共基美声明为虚基炎
4.若要把voidfun定义为类A的友元函数,则应在类A的定义中加入语句.
5.爱的时态成员分为和,
6、运算符重钱要求保挎箕原来的操作数个数、、和语法结构
7、通过关胡字可以声羽模板,通it关林字指定函数模旅的类型参数,有几个类型参数就有几个类型关键字
8、列出C++中两种用户自定义的数据类型..
9、构毫函数的作用爰°
10.后置自增运算件“++”更我为英的成员函奴设爽名为A〉的形式为,
三、阅读下面3个程序,写出程序运行时输出的结果共13分
1、#includeiosreamusingnamespacestd;voidfunintbintp;装p=a;a=b;b=p;※※※涿※※i]※※※※※※i※米※生案※i voidexchangeinta.intb.intc※※※※※※{ifabfuna.b;※※※※※生i/※※生生※-ifacfuna,c;※※※汲※※※※※※※※■※iftxcfunb.c;米※案案※※派※演※※※※※※※生※米※生生※i※※※innuiin汲※※i※※※※※※i去{inta=l2,b=
89.c=56;※※生※生i※※exctuingea,b.c;浜涿※※i※※※※※生米coul«a=,,«a«*.b=*«b«,c=*«c«cndl;※※※生米i※※※汲※※ireturn0;※※※※※※去※※生※生※※浜涿※※j※※※※米※i去※※生※生
2、^includeioslreami※※※※※※i※※※※米※米usingnamespacestd:※※生※生!※※classDale浜※※去!※※※※米※public:※※※※※※※※生案※※Datcint,int.intkDaeint,int;Datcint;DateO:voiddisplayO;pivale:intmonth,day,year;;Date::Daeintmjntd.inty:minthm,dayd,yeary}Datc::Datcintm.intd:monthm.daydycar=2009|Date::D:neintm:nM»nthm|day=l;year=2010;}Datc::Datc{month=I:day=l ycar=201h}voidDale::display|€oul«nonih«7,«da«Hr«year«endl;}intmain Diiedl123L2009Date121231Dated3l;DateI;dl.display;d
2.display:d
3.displa;d
4.display;relum0;}
3.includeiostreamusingnamespacesld;classAIpublic:A{cout«*conMiicingA*«endl:}-Acout«MdcsiructingA«cndl;J;classB:publicA{public:B|cout«HconMruclingBy«mdl;}-BO{cout«*dcMnicingBclassC:publicB装※玄※淡去※;{public:※※※※※※;※※※※来※iC|cout«ccnstructingC*«cndl:C{coui«*desinicingC«eiuil;;※※米米※※i※※※※※※iintmain{Cel;return0:I
四、编程题共27分I.10分巳知复效类Complex的声明如下:classComplexpublic:ComplcxO:〃无舂构造函数Complexdouble;〃转换构迪诬数Complcxdoublc.double”有两个形参的构造函数friendComplexopenilor-HCi»mpkx.Complex;friendostreamAopcraior«osrcan.Complcx;friendisreamopcrator»istream.Coniplcx;private:doublercal.imag;>;要求I写出谟类的所有杓造函数的类外定义代码•:26出对运算符♦二进行重侦的运算符反豉函数的定义.,
2.17分下列Shape夷是一个表示形状的油象类,aea为求图形面积的函蚊,total!则是一个通用的用以求不同形状的图形面积总和的函数.〃对“十”运算符进行重找:classShape忸«H运算?进行更毂〃对运算符进行重载\public:virtualdoublearea=0;※※※※※※:doubletotalShape•$],intn朱※※淡案※※※※泼※※\doublesum=O.O;※※※※※※fortinti=0:in:i++sum+=s[i]-arca;※※派去※※※※※※※生reiumsum;去※※淡淡※※※※※※※※※※※※米※※※※去※米※※※※※\※※※※去淡去※※※※※!※※※※※去※米※※※※※※※※※※※去淡淡淡※※冰※炭※※※※※※※※要求1从Shape类浜生BO类Ciixrlc.正方形类Square,Bl类#增效存米※※淡※※冰※※去※米径radius,正方形类新通妣据成员边长a.01类和正方形类都有的造函数.修改,显示数据※※※※※※※※※※※疑或男值的函数.求面积函数.※※※※※※2写出main函数,骨算半径为
5.5的圆和边长为
9.9的正方形的面枳和必须通过调用local函数计算》.。