


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、二级C+分类模拟130( 总分: 100.00 ,做题时间: 90 分钟 )一、 基本操作题 ( 总题数: 1,分数: 30.00)1. 请使用VC6或使用【答题】菜单打开 projl下的工程projl,此工程中包含了类 Pets( “宠物”)和主函 数 main 的定义。程序中位于每个“ /ERROR *found* ”之后的一行语句有错误,请加以改正。改正 后程序的输出结果应为:Name:sonny Tvpe:dogName:John Type:dog Name:Danny Type:catName:John Type:dog注意:只修改每个“ / ERROR *found* ”下的那一行
2、,不要改动程序中的其他内容。#include using namespace std;enum Pets_type dog, cat, bird, fish;class Pets private:char * name;Pets_type type;public:Pets (const char * name = sonny, Pets_type type = dog);Pets& operator = (const Pets &s);Pets();void show() const;Pets:Pets (const char * name, Pets_type type)/ 构造函数this
3、 - name = new charstrlen(name) + 1;strcpy(this - name, name);/ ERROR *found*type = type;Pets: Pets() / 构造函数,释放name所指向的字符串/ ERROR *found*name = /0;Pets& Pets:operator = (const Pets &s)if&s = this) / 确保不要向自身赋值return * this;delete name;name = new char strlen () + 1;/ ERROR *found*strcpy (this - n
4、ame, name);type = s.type;return * this;void Pets:show() constcout Name: name Type:;switch (type) dog; break; cat; break;case dog: coutcase cat: coutcase bird: coutcase fish: cout bird; break; fish; break;cout type=type ; name, );考点 析构函数和const函数。 答对此题。主要考查考生对构造函数、主要考查的是Pets类,其中涉及enum类型、动态数组、构造函
5、数、运算符重载、 本题程序很长,涉及的函数类型较多,但考查的内容较简单,只要注意细节便可析构函数和 strcpy()函数的掌握,构造函数中当类的私有成员和形参名称相同 this指针来区分。析构函数必须要用delete语句释放指针。时,为了区别类的成员要调用 二、简单应用题(总题数:1,分数:30.00)2. 请使用VC6或使用【答题】菜单打开 proj2下的工程proj2,该工程中包含一个程序文件main.cpp,其中有类CPolygon( “多边形”)、CRectangle(矩形”)、CTriangle(三角形”)的定义。请在横线处填 写适当的代码并删除横线,以实现上述类定义。该程序的正确输
6、岀结果应为:20 10/注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“*found*”。#include using namespace std; class CPolygon public:/ *fo un d*void printarea (void)/*found*cout printarea(); ppoly2 - printarea(); return 0;(分数:30.00 ) 正确答案:()解析:(1)virtual int area(void)=0; area()(3) length*height(4) CPolygon答案考生文件夹考点主要考查
7、的是CPolygon类及其派生类 CRectangle类和CTriangle类,其中涉及 纯虚函数和构造函数。在定义纯虚函数时要参考在派生类中的同名函数的定义,要特别注意函数的返回类 型和形参。解析(1)主要考查考生对纯虚函数的掌握,在定义纯虚函数时要看在派生类中函数的定义:intarea(void)。由此可知纯虚函数应该为:virtual int area(void)=0;。(2) 主要考查考生对纯虚函数的掌握情况,由void printarea(void)可知,该函数要打印面积,因此在此要调用纯虚函数 area,即cont area()。(3) 主要考查考生对数学公式的掌握,该函数要返回三
8、角形面积,三角形的面积公式为长乘以该边上的高除 以 2,即 return(length*height)/2 ;。(4) 主要考查考生对抽象类的掌握情况,根据程序段:ppoly1=&rect ;ppoly2=&trgl ;可知指针 ppoly1 指向 CRectangle 类,而指针 ppoly2 指向 CTriangle 类,因此在这里只能填这两种类的基 类 CPolygon 类。 主要考查考生对纯虚函数、抽象基类及成员函数的掌握情况,常用的数学公式,如三角形面积是长乘以高 除以 2,矩形面积是长乘以高等。三、 综合应用题 ( 总题数: 1,分数: 40.00)3.请使用【答题】菜单命令或直接
9、用VC6打开下的工程prog3,其中声明了 ValArray类,该类在内部维护一个动态分配的整型数组。 ValArray 类的复制构造函数应实现对象的深层复制。请编写 ValArray 类的复制构造函数。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:ValArray v1=1 ,2,3,4, 5ValArray v2=1 ,2,3,4, 5要求:补充编制的内容写在“/*333*”与“ /*666*”之间,不得修改程序的其他部分。注意:程序最后将结果输出到文件 out.dat 中。输出函数 writeToFile 已经编译为 boj 文件,并且在本程 序中调用。/ValArra
10、y.h#include using namespace std;class ValArray int * v;int size;public:ValArray (const int * p, int n) : size(n)v = new intsize;for (int i = 0; i size; i +)vi = pi;ValArray (const ValArray& other);ValArray() delete v;void print (ostream& out) constout ;for (int i = 0; i size -1; i +)out vi ,;out vsi
11、ze-1 ;void setArray (int i, int val)vi = val;void writeToFile(const char *);/main.cpp#include ValArray.hValArray: ValArray (const ValArray& other)/ *666*int main()const int a = 1,2,3,4, 5;ValArray v1(a, 5);cout ValArray v1 =; v1.print(cout);cout endl;ValArray v2(v1);cout ValArray v2 =; v2.print(cout);cout endl;writeToFile();return 0;(分数:40.00 ) 正确答案:()解析:size=other.size ;v=new intsize;for(int i=0; i size; i+)setArray(i,other.vi);答案考生文件夹考点主要考查的是 ValArray类,其中涉及动态数组、构造函数、复制构造函数、析构 函数和const函数。注意动态数组的复制构造函数要先给动态数组分配空间,再逐个元素复制。解析主要考查考生对复制构造函数的掌握,ValArray类的复制构造函数应实现对象的深层复制。由ValArray类的构造
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车贷款担保合同(2000年)
- 环保型装饰材料购销合同模板
- 教育机构保密合同模板及详解
- 标准离职补偿合同范本
- 标准竞业禁止合同范本
- 正式员工劳动合同
- 个人展馆租赁合同
- 地铁车厢广告租赁合同范文
- 合同期内员工解雇通知
- 林业碳汇项目开发合同范本全新指引
- 《猫》学习任务群教学设计
- 《始终坚持以人民为中心》教案
- 播音主持说新闻课件
- 组织拳击比赛行业市场突围建议书
- 2024年上海市安全员-B证(项目负责人)理论考试题及答案
- 《T CMADI 085-2022牙槽骨增量用增材制造个性化钛网》
- 我的小手最干净
- 建筑施工企业三级安全教育制度(3篇)
- 2024年行政执法人员资格考试必考知识题库及答案(共250题)
- 医疗器械设备安装技术方案
- 八年级下册《经典常谈》-2024年中考语文名著导读专练
评论
0/150
提交评论