c试题东南机试09-a卷电类_第1页
c试题东南机试09-a卷电类_第2页
c试题东南机试09-a卷电类_第3页
c试题东南机试09-a卷电类_第4页
c试题东南机试09-a卷电类_第5页
全文预览已结束

下载本文档

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

文档简介

1、东南大学 09 级C+(下)上机试卷A(时间 80 分钟,卷面成绩 100 分)学号 机位号说明:首先在 Z 盘建立一个以自己的学号+命名的文件夹,用于存放上交的*.CPP 文件,结束前根据机房要求,将这个文件夹传送到网络服务器上,注意:提交时只保留文件夹中的CPP 文件。一、改错题 (50 分。共 10 个错误,每个错误 5 分)【要求】调试程序,修改其中的语法错误及逻辑错误。只能修改、不能增加或删除整条语句,但可增加少量说明语句。【注意】源程序以“学号f1.cpp”命名,存入自己学夹。【题目】以下程序中演示了通过构造函数和赋值操作符实现深,请找出并改正程序中的语法错误和逻辑错误。【含错误的

2、源程序】#include #include using namespatd;class studentchar *pName; public:student(); student(char *pname); student(student &s);student();student & operator=(student &s); void pr();student:student()coutConstructor;pNaLL;cout缺省endl;student:student ( char *pname )coutConstructor; len = strlen(pname);pName

3、 = new charlen;if ( pName ) strcpy ( pname, pName); coutpNameendl;/错误行/错误行student:student(student &s)coutCopy Constructor; if(s.pName)len = strlen( s.pName ); pName = new charlen +1;if ( pName ) strcpy (pName, s.pName); coutpNameendl;else pNaLL;void student:student()coutDestructor;if ( pName ) coutp

4、Nameendl; pName = NULL;/错误行/错误行student & student:operator = ( student s )coutCopy Assign operator; delete pName;if ( s.pName )pName = new charstrlen(s.pName)+1; if ( pName ) strcpy ( pName, s.pName ); coutpNameendl;/错误行else pNareturn this;LL;/错误行void pr( )/错误行if (pName = NULL ) cout NULL endl; /错误行e

5、lse cout pName endl;main(void)student s1(范英明),s2( student *s3 = new student;*s3 = s1;);s1.prs2.pr s3.pr();();();/错误行delete *s3;/错误行return 0;二、编程题(50 分。需补充 5 段代码,每段代码 10 分)【注意】源程序以“学号f2.cpp”命名,存入自己学夹。【题目】以下程序定义了一个学生类 student,其 4 个私有数据成员为,学号。主函数 main 中该类的对象s 创建时,在构造函数中从文件 stuinfo.data获得 4 个数据成员的数据。首次创

6、建对象时文件 stuinfo.data 是打不开的,此时构造函数中令 4 个数据成员的值为空值(为零,其它为空字符串)。如果对象创建后数据成员为空,须由键盘输入 4 个数据成员的值。当程序结束时,析构函数将数据写入同一文本文件stuinfo.data。【说明】请按以上说明和要求将下面程序补充完整,并调试运行。#include #include #include using namespatd;class student;ostream& operator(istream &is,student &a);class studentstring stringName;Sex;/stringNumb

7、er; /学号Age;/public:student();student();/析构函数,将数据保存到文件中bool IsEmpty() return Name=; ;friend ostream& operator(istream &is, student &a);/用于直接输出数组对象;student:student()/此处添加代码student:student()/此处添加代码ostream& operator (istream &is,student &a)if ( is = cin )/此处添加代码else/此处添加代码return is;void main()student s;if ( s.IsE

温馨提示

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

评论

0/150

提交评论