上海大学C++2014-2015秋A---答案--t_第1页
上海大学C++2014-2015秋A---答案--t_第2页
上海大学C++2014-2015秋A---答案--t_第3页
上海大学C++2014-2015秋A---答案--t_第4页
上海大学C++2014-2015秋A---答案--t_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业序号试卷 第 1 页 ( 共 5 页 )4 GetData函数功能是Get它动态创建的包含有数据的基地址,及数据个数,好的设计方案及客户对它的正确调用是:A int GetData( int * pp ); int *pd; int n = GetData( pd );B int * GetData( int n ); int n=3; int *pd = GetData( n );C int GetData( int pp ); int *pd; int n = Ge

2、tData( pd );Dint GetData( int * pp ); int *pd; int n = GetData(&pd );5. 已有定义class K private:K();修改错误:A去掉private: B. K k1; 改为 K k1();Cprivate 改为publicD. ; 改为 6 (多选)设计一个影片管理系统,包括一般影片、外国片,影片剪接,现有一部外国影片Titanic (泰坦尼克号),如下的解决方案正确的有:AFilm作为基类,ForeignFilm和 DirectorCut作为Film的派生类。BTitanic作为Film的的成员变量。CTitanic

3、是ForeignFilm的一个实例。 DFilm作为类ForeignFilm和类DirectorCut的成员变量。E数据输出Output函数采用虚成员函数,Film、ForeignFilm、DirectorCut都实现它。7. 已有定义:class BC public:int b; void mfunc()coutBC; ;class DC : public BC public: int d; void mfunc() BC:mfunc();coutd = 1;C. DC *p=pb;p.d = 1;D. DC *pdc=static_cast(pb); pdc-d = 1;8 重载右移操作符

4、,从流输入数据到复数类对象,设计方案选择:Aistream & operator( istream &istm, Complex &c);Bistream & operator( istream istm, Complex c); Cistream & operator( istream& istm, Complex c); Distream operator( istream istm, const Complex & c);EComplex operatorname=name; /构造函数_8.5_ /析构函数static int compareScore( Student &stu1,

5、Student &stu2) if( stu1.getscore () score=score;改写getname成员函数为外联式实现_8.7_改写setscore成员函数为外联式实现_8.8_ 二填空(26分,1,7题每题3分,其他每空1分)1.面向对象程序设计语言的主要特征是_2. 返回对象的引用,修改下面代码int& dl( int n ) _ int j= 2*n;return j; 3. 下面代码CA和CB类型的对象分别有_3.1_个数据成员,实现类的构造函数,初始化数据成员class CAprivate:int a;public:CA(int a) _3.2_ ;4. 设计一个函数

6、decode,功能是对字符串,用密钥解码,设计函数原型(接口)是:_4.1_其中相关参数和返回的说明:_4.2_5. 异常处理代码填空int div( int a,int b)if(b =0 )_5.1_“error:b=0”;return a/b;class CB : public CAint b;public:CB(int a,int b) _3.3_ _3.4_;int main( )tryint u,v; cinuv;coutu/v=div(u,v);_5.2_couteendl;return 0;试卷 第 3 页 ( 共 5 页 )2. 下面代码的输出结果_ class B publ

7、ic:B() coutB; virtual B()coutB; void main() B* p =new Z; delete p ; 3. 下面的程序写入到data.txt文件中的内容_3.1_屏幕显示的输出的内容_3.2_#include #include using namespace std;int main( )ostringstream ostm;string name=wang; int age=20;ostm 姓名 name 年龄 ageendl; ofstream ofile( data.txt );ofilestr1namestr2age ) cout 姓名 name 去年

8、 age 今年 age - 2endl;ifile.close();return 0;int main( )vector students;for(int i=0;iname score;CStudent stu(name);stu. setscore(score);students.push_back(stu);assert(students.size() 0 );cout”与” students0. getname() ”分数相同的学生有:”endl;for( int i=1; i students.size() ;i+ ) int comp=_8.10_;if( comp=0) /i学生

9、如果与0学生分数相同cout studentsi. getname()endl;return 0;三. 阅读程序 (18分,每小题2分)1写出输出结果: _class B protected: virtual void f( ) cout”B”endl; public:void g( ) f( ); ;void main( ) D d;d.g( ); class Z: public B public:Z() coutZ ; virtual Z() coutZ ;class D : public Bprotected: virtual void f( ) cout”D”endl;试卷 第 4 页

10、 ( 共 5 页 )class IReportHandlepublic:virtual void handleReport( string r ) = 0; ;class DevServiceClassvector m_RCBs;string m_r;void dchgReport() /数据已变化,报告订阅者for( auto it = m_RCBs.begin();it !=m_RCBs.end();it+) IReportHandle * p = *it;p-handleReport( m_r );public: void hookReport( IReportHandle *p) /订

11、阅报告 m_RCBs.push_back(p); void update(string r) /更新数据 m_r = r; dchgReport(); ;class DevClientClass : public IReportHandlestring m_name;public:DevClientClass() m_name = DevClient; virtual void handleReport( string r ) /处理数据coutm_name handleReport:rendl; ;4. 下面代码的输出结果_class Apublic: void m(const char *

12、str)cout”A”strendl;class Z : public Apublic: void m()coutZendl;int main()Z z1;z1.m();z1.A:m(“a”);return 0;5 下面是设备监控系统采用事件驱动机制编写的一个简单示例程序,列出程序先后运行到断点位置(已用标号标记)的序号,或显示结果键盘输入数据前,程序依次运行到的断点序列号_5.1_从键盘输入 MMXU1.PNV.phsA.cVal.mag.f=100.5A 回车后的断点位置: _5.2_断点位置然后程序依次运行到的断点序列号: 5.3 程序显示的输出结果: 5.4 #include #inc

13、lude #include using namespace std;int _tmain(int argc, _TCHAR* argv) DevServiceClass dev; DevClientClass cli; dev.hookReport( &cli );char str200; cin.getline( str,sizeof(str) ); /采集数据dev.update(str); return 0;试卷 第 5 页 ( 共 5 页 )五程序设计 (20分 , 第1题8分,第2题7分,第3题5分)设计一个模板容器类,功能是元素的压入和弹出在同一端进行,满足先进后出的要求.并编一个

14、main函数测试该模板容器。模板容器类接口要求:类名:Stack模板参数表含模板类型参数T, 和实例类型参数size (表示容器最大容量) 成员函数:push: 压入元素;pop: 弹出元素empty:容器是否空;full: 容器是否满main()函数要求:创建你的模板容器类对象,循环压入n个string字符串,然后弹出显示。2. 使用MFC设计一个图形层次类要求1)抽象图形类 CShape 成员变量 m_x,m_y 成员函数 draw(CDC*), moveTo(x,y), CShape(x,y) CShape (x=0,y= 0) 2) 圆类 CCircle 成员变量 m_x,m_y,m_

15、r 成员函数 draw(CDC*), moveTo(x,y),setR(r) , CCircle(x,y,r)3) 矩形框类CRectBox 成员变量 m_x,m_y, m_x1,m_y1成员函数 draw(CDC*), moveTo(x,y) , CRectBox(x,y, x1,y2)4) 柱状图类 CBarChart成员变量 m_x,m_y, m_x1,m_y1 /边框m_datas /画柱状图的int数据容器 成员函数 moveTo(x,y), CBarChart(x,y, x1,y2) draw(CDC*) /画出边框,画出数据的柱状图,设每根柱的宽度=元素个数/(m_x1-m_x)

16、addData(int) /添加数据到注:MFC 相关类CDC类相关的成员函数bool Rectangle( int x1, int y1, int x2, int y2 ); /画矩形框(左上角,右下角)bool Ellipse( int x1, int y1, int x2, int y2 ); /画椭圆(左上角,右下角) 程序不要求考虑画笔及其填充色的问题。类间关系要使用继承.3. IEC61850 变电站通信网络与系统C+程序设计(课外项目代码)四. 改错(对有标号的行,有错标记X,无错标记)( 20分,每小题0.5分 )class IObjpublic:virtual void vf

17、unc(int x) = 0;/1_ /2 _ class BC : IObj /3 _ int b;static int s;const int c;public:BC( ): c(0) /4_ BC(int x) b=x; c=0; /5_void BC( ) /6 _ int & getRef( ) return this-b; /7_ static void staticFuncSet(int x)this-b = x; /8_ int getC( )return c; /9_ static void staticFuncSetS( int x) s = x; /10_int getS

18、()return this-s; /11_virtual void vfunc(int x) protectedFunc ( x ); /12_void m(int x) vfunc(x); /13_private:void privateFunc(const char * str) coutstrvfunc(1); /34 _BC *pbc= (BC*)pobj;/35_delete pobj; /36_ BC *pb=&dc; /37 _ BC:m(2); /38_ pb-vfunc(1); /39_DC *pdc= dynamic_cast(pb); /40_答卷 第 1 页 ( 共 3

19、 页 )成绩题号第 二 题 填空题(续) 5.1(1分)throw5.2(1分)catch6(1分)std7(3分)值,地址,引用8.1(1分)this-name=name8.2(1分)public CPerson8.3(1分)CStudent8.4(1分)CStudent(string name)8.5(1分)virtual CStudent()8.6(1分)stu1.getscore () stu2.getscore ()8.7(1分)string CPerson:getname() return name;8.8(1分)void CStudent :setscore( double sc

20、ore ) this-score=score;8.9(1分)CStudent8.10(1分)CStudent:compareScore(students0, studentsi );小计题号第 三 题 阅读题 18分1(2分)D2 (2分)BZZB3.1(2分)姓名 wang年龄 203.2 (2分)姓名 wang 去年20 今年184 (2分)Z A a5.1(2分)7,5, 3,5.2(2分)85.3(2分)4,2,65.4(2分)DevClient handleReport: MMXU1.PNV.phsA.cVal.mag.f=100.5A小计上海大学 2014 2015 学年 秋 季学

21、期答卷 A课程名: 面向对象程序设计A 课程号:学分: 4 应试人 应试人学号 应试人所在院系 题号一二三四五六七八九得分题号第 一 题 选择题 16分每小题2分1F2A3C4D5C6ACE7D8A小计:题号第二题 填空题 26 分1(3分)封装继承多态2(1分)static3.1(1分)1,23.2(1分)this-a = a;3.3(1分): CA(a)3.4(1分)this-b= b;4.1(1分)void decode(const char *str, const char *key,char *tex );4.2(1分)不返回,str:待解码的字符串,key:密钥,tex:解码后的文本 注:教师应使用计算机处理试题的文字、公式、图表等;学

温馨提示

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

评论

0/150

提交评论