




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
会计学1C全国高等教育自学考试试卷实用25.在下面函数模板定义中不正确的是(
)
A. template<classQ> B.template<classQ>
QF(Qx) QF(Qx) {returnQ+x;} {returnx+x;}
C. template<classT> D.template<classT>
TF(Tx) TF(Tx)
{returnx*x;} {returnx>1;}6.语句ofstreamf(“ab.dat”,ios::app|ios::binary);的功能是建立流对象f,试图打开文件ab.dat并与之连接,并且()A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
B.若文件存在,将其置为空文件;若文件不存在,打开失败
C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
D.若文件存在,打开失败;若文件不存在,建立一个新文件AA第1页/共22页37.下面说法正确的是()A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方
B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方
C.类的内联函数必须在类体内定义
D.类的内联函数必须在类体外通过加关键字inline定义8.可以用p.a的形式访问派生类对象p的基类成员a,其中a是()A.私有继承的公有成员 B.公有继承的私有成员
C.公有继承的保护成员 D.公有继承的公有成员9.在公有派生情况下,派生类对象和基类对象的关系,不正确的是()A.派生类的对象可以赋给基类的对象
B.派生类的对象可以初始化基类的引用
C.派生类的对象可以直接访问基类中的成员
D.派生类的对象的地址可以赋给指向基类的指针
BDC第2页/共22页410.对于类定义classA{public: virtualvoidfunc1(){} voidfunc2(){}};classB:publicA{public: voidfunc1() { cout<<″classBfunc1″<<end1;} virtualvoidfunc2() { cout<<″classBfunc2″<<end1;}};下面正确的叙述是()A.A::func2()和B::func1()都是虚函数B.A::func2()和B::func1()都不是虚函数C.B::func1()是虚函数,而A::func2()不是虚函数D.B::func1()不是虚函数,而A::func2()是虚函数C第3页/共22页5二、填空题(每小题2分,共20分)
11.定义类的动态对象数组时,系统只能够自动调用该类的_________构造函数对其进行初始化。12.在C++程序设计中,建立继承关系倒挂的树应使用_________继承。13.表达式cout<<endl还可表示为_________。14.基类的公有成员在派生类中的访问权限由_________决定。15.C++支持的两种多态性分别是_______多态性和_______多态性。无参单cout<<‘\n’访问控制编译运行第4页/共22页616.C++中语句constchar*constp=″hello″;所定义的指针p和它所指的内容都不能被_________。
17.假定AB为一个类,则语句AB(AB&x);为该类_______构造函数的原型说明。18.将关键字const写在成员函数的________和_________之间时,所修饰的是this指针。19.在C++中,访问一个对象的成员所用的运算符是_____,访问一个指针所指向的对象的成员所用的运算符是________。
20.派生类从一个或多个以前定义的该类的_________继承数据和函数。改变复制函数头函数体.->基类第5页/共22页721.指出下面程序段中的错误,并说明出错原因。classA{ inta,b;public:
A(intaa,intbb){a=aa;b=bb;}};Ax(2,3),y(4);22.指出并改正下面利用类模板的对象定义中的错误。template<classT>classTany{ Tx,y;public: Tany(Ta,Tb){x=a,y=b;} Tsum(){returnx+y;}};Tany(int)obj(10,100);三、改错题(每小题2分,共10分)错误原因:没有单参数的构造函数Tany<int>obj(10,100);第6页/共22页823.指出下面程序段中的错误,并说明出错原因。classone{private: inta;public: voidfunc(two&);};classtwo{private: intb; friendvoidone::func(two&);};voidone::func(two&r){ a=r.b; }错误原因:没有对类two说明改正:在类one的定义前增加说明。
classtwo;第7页/共22页924.指出下面程序段中的错误,并说明出错原因。#include<iostream.h>classA{public: voidfun(){cout<<″a.fun″<<endl;}};classB{public: voidfun(){cout<<″b.fun″<<endl;} voidgun(){cout<<″b.gun″<<endl;}};classC:publicA,publicB{ private:intb; public: voidgun(){cout<<″c.gun″<<endl;} voidhun(){fun();}};错误:类C中的函数hun调用fun时出现二义性。第8页/共22页1025.指出下面程序段中的错误,并说明出错原因。classLocation{ intX,Y=20;protected: intzeroX,zeroY; intSetZero(intZeroX,intZeroY);private: intlength,height;public: floatradius; voidinit(intinitX,intinitY); intGetX(); intGetY();};intX,Y=20;出错错误原因:定义类时类中数据成员不能赋值。第9页/共22页11四、完成程序题(每小题4分,共20分)
26.在下面横线处填上适当字句,完成类中成员函数的定义。classA{ int*a;public: A(intaa=0) {a=______________; //用aa初始化a所指向的动态对象
} ~A() {_________;}//释放动态存储空间};newint(aa)deletea第10页/共22页1227.下面是一个函数模板,用于计算两个向量的和。#include<iostream.h>template<classT>T*f(T*a,T*b,intn){ T*c=_____________; for(inti=0;i<n;i++) c[i]=_________; returnc;}voidmain(){ inta[5]={1,2,3,4,5},b[5]={10,20,30,40},*p; p=f(a,b,5); for(inti=0;i<5;i++) cout<<p[i]<<endl;}newint[n]a[i]+b[i]第11页/共22页1328.下面是一个用户口令检查程序,填上适当语句完成程序功能。#include<iostream.h>#include<string.h>___________________________ //定义由PASS指针所指向的口令wolleh。voidmain(){ charuser[10];//用于存放输入的口令
cout<<″pleaseinputyourpassword:″<<endl; __________________//输入口令
if((strcmp(user,PASS))==0) cout<<″yourpasswordiscorrect″<<endl; else cout<<″yourpasswordiserror″<<endl;}constchar*PASS=“wollen”;cin>>user;第12页/共22页1429.下面是类fraction(分数)的定义,其中重载的运算符<<以分数形式输出结果,例如将三分之二输出为2/3。在横线处填上适当字句。classfraction{ intden;//分子
intnum;//分母
friendostream&operator<<(ostream&,fraction); …};ostream&operator<<(ostream&os,fractionfr){ ________________________; return_________;}os<<fr.den<<‘/’<<fr.numos第13页/共22页1530.在横线处填上适当的字句,使其输出结果为0,56,56。#include<iostream.h>classbase{public: ______________func(){return0;}};classderived:publicbase{public: inta,b,c; _________setValue(intx,inty,intz){a=x;b=y;c=z;} intfunc(){return(a+b)*c;}};voidmain(){ baseb; derivedd; cout<<b.func()<<
","
; d.setValue(3,5,7); cout<<d.func()<<
","
; base&pb=d; cout<<pb.func()<<endl;}virtualintvoid第14页/共22页16五、程序分析题(每小题5分,共30分)
31.给出下面程序的输出结果。#include<iostream.h>voidmain(){ int*a; int*&p=a; intb=10; p=&b; cout<<*a;}输出结果为:10第15页/共22页1732.给出下面程序的输出结果。#include<iostream.h>template<classT>Tf(T*a,T*b,intn){ Ts=(T)0; for(inti=0;i<n;i++) s+=a[i]*b[i];
returns;}voidmain(){ doublec[5]={1.1,2.2,3.3,4.4,5.5}; doubled[5]={10.0,100.0,1000.0}; cout<<f(c,d,5)<<endl;}输出结果为:3531第16页/共22页18给出下面程序的输出结果。#include<iomanip.h>voidmain(){ for(inti=0;i<4;i++) cout<<endl<<setfill(′′)<<setw(4-i)<<′0′<<setfill(′*′)<<setw(i+i)<<(i>0?′0′:′′);}输出结果为:
00*00***00*****0第17页/共22页1934.运行下面的程序,写出当输入25,60时的输出结果。#include<iostream.h>classgoods{private: staticinttotalWeight;intweight;public: goods(intw) { weigh=w;totalWeight+=w;} goods(goods&gd) { weight=gd.weight;totalWeight+=weight;} ~goods(){ totalWeight-=weight;} intgetwg(){ returnweight;} staticintgetTotal(){returntotalWeight;}};intgoods::totalWeight=0;第18页/共22页20voidmain(){ intw; cout<<″Theinitialweightofgoods:″ <<goods::getTotal()<<endl; cin>>w;//输入25 goodsg1(w); cin>>w;//输入60 goodsg2(w); cout<<″Thetotalweightofgoods:″ <<goods::getTotal()<<endl;}输出结果为:Theinitialweightofgoods:0Thetotalweightofgoods:85第19页/共22页2135.写出输出结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 交通信号控制系统操作规程
- 三农村电商售后服务与客户关系管理实战指南
- 安装光伏发电划算不
- 汽车 充电桩 新能源
- 课题研究可行性分析格式模板
- 项目进度管理与风险控制的工作计划
- 三农产品三农村市场风险防控方案
- 消防中级监控练习试题及答案
- 中级养老护理练习试题
- 茶艺师复习测试题
- 幕墙玻璃维修更换施工方案
- 证明公司人数
- 《电子信息工程专业导论》复习备考核心题库(100多题)
- GB/T 10561-2023钢中非金属夹杂物含量的测定标准评级图显微检验法
- 浅谈希沃白板在初中区域地理教学中的应用
- 小鹰广郡通:2023成都城市全景数据报告 -城市研究
- -《画线段图解决问题的策略》
- 工程勘察服务成本要素信息(2022版)
- 特种设备安全风险管控责任清单
- 高中数学人教A版(2019)必修第一册知识点总结
- 广东省中考物理近四年考点分布
评论
0/150
提交评论