- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课后练习答案是本人精心整理的专业学科课后习题答案,可在线免费浏览全文并供大家下载。另外本网提供大学各专业教材各册不同版本作者主编的课后习题参考答案,不同版本版次,第N册练习题目习题及答案
《C++程序设计》
习题解答
目录
第2部分 习题解答 2
第1章 面向对象程序设计概述 2
第2章 面向过程程序设计 12
第3章 类和对象 14
第4章 继承与派生 18
第5章 多态性与虚函数 21
第6章 友元与静态成员 25
第7章 运算符重载 29
第8章 泛型编程 33
第9章 输入/输出 36
第10章 异常处理 38
第2部分 习题解答
第1章 面向对象程序设计概述
一、简答题
简述面向过程程序设计和面向对象程序设计的编程思想,体会面向对象程序设计的优点。
【答案要点】
面向过程程序设计的编程思想:功能分解、逐步求精、模块化、结构化。当要设计一个目标系统时,首先从整体上概括出整个系统需要实现的功能,然后对系统的每项功能进行逐层分解,直到每项子功能都足够简单,不需要再分解为止。具体实现系统时,每项子功能对应一个模块,模块间尽量相对独立,通过模块间的调用关系或全局变量而有机地联系起来。
面向对象程序设计的编程思想:
(1)客观世界中的事物都是对象(object),对象之间存在一定的关系。
(2)用对象的属性(attribute)描述事物的静态特征,用对象的操作(operation)描述事物的行为(动态特征)。
(3)对象的属性和操作结合为一体,形成一个相对独立、不可分的实体。对象对外屏蔽其内部细节,只留下少量接口,以便与外界联系。
(4)通过抽象对对象进行分类,把具有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是其所属类的一个实例。
(5)复杂的对象可以用简单的对象作为其构成部分。
(6)通过在不同程度上运用抽象的原则,可以得到一般类和特殊类。特殊类继承一般类的属性与操作,从而简化系统的构造过程。
(7)对象之间通过传递消息进行通信,以实现对象之间的动态联系。
(8)通过关联表达类之间的静态关系。
与传统的面向过程程序设计相比,面向对象程序设计的优点如下:
(1)从认识论的角度看,面向对象程序设计改变了软件开发的方式。软件开发人员能够利用人类认识事物所采用的一般思维方式来进行软件开发。
(2)面向对象程序中的数据的安全性高。外界只能通过对象提供的对外接口操作对象中的数据,这可以有效保护数据的安全。
(3)面向对象程序设计有助于软件的维护与复用。某类对象数据结构的改变只会引起该类对象操作代码的改变,只要其对外提供的接口不发生变化,程序的其余部分就不需要做任何改动。面向对象程序设计中类的继承机制有效解决了代码复用的问题。人们可以像使用集成电路(IC)构造计算机硬件那样,比较方便地重用对象类来构造软件系统。
二、编程题
【程序参考代码】
/*学生信息管理系统C语言源代码student.c*/
#include stdio.h /*包含输入/输出头文件*/
#include string.h /*包含字符串处理头文件*/
#include stdlib.h
#define MAXSIZE 100 /*能够处理的学生总人数,可以随意修改*/
typedef struct { /*用于存放生日信息的结构体*/
int year;
int month;
int day;
}Date;
typedef struct Stud{ /*用于存放学生信息的结构体*/
char Num[12]; /*学号为11位*/
char Name[11]; /*姓名,最多5个汉字*/
char Sex[2]; /*性别,男记为m,女记为f */
Date Birthday; /*出生日期*/
float English, DataStructure, CPlusPlus; /*三门课成绩*/
float Sum, Average; /*总成绩、平均成绩*/
}Student;
char CurFile[40]; /*存放当前正在操作的磁盘文件的文件名*/
int IsOpen=0; /*当前是否有磁盘文件被打开标志*/
int found=0; /*在查找学生信息时是否找到标志*/
Student stud[MAXSIZE]; /*用于存放读入内存中的所有学生信息的全局数组*/
int Index=0; /*存放实际学生人数的全局变量*/
/*各自定义函数原型声明*
您可能关注的文档
最近下载
- 剑桥王牌教材第二版Think1U2知识清单及作业单v1.4.pdf VIP
- 摩托车培训学校建设项目投资可行性建议书.doc VIP
- 高考语文专题训练-病句(含答案解析)70题.docx VIP
- 2024年太阳能电池片产业海外专利预警分析报告-上海知识产权保护中心.docx
- 小学英语词汇练习及答案.doc VIP
- WSET二级复习试题库(共229题).pdf VIP
- 标准图集-99J201-1 平屋面建筑构造(一).pdf VIP
- 砂浆锚杆工艺性试验方案.docx VIP
- DB32T 4659.5-2024 医院公共卫生工作规范 第5部分:职业卫生.docx VIP
- 中药材(植物药)新品种评价技术规范.pdf-中华人民共和国国.PDF
文档评论(0)