- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]第5章 类和对象一
第五章 类和对象 结构到类的转变 面向过程的程序设计方法: 用函数来实现对数据的操作,且往往把描述某一事物的数据与处理数据的函数分开。 缺点在于:当描述事物的数据结构发生变化时,处理这些数据结构的函数必须重新设计和调试。举例说明。 【例1】计算学生成绩。 步骤:1.可先定义一个学生成绩的结构体类型student, 2.再定义计算学生平均成绩的函数Average()与显示学生成绩的函数Display(). 3.在主函数中输入学生成绩,并调用Average()计算平均成绩,调用Display()显示学生成绩。 #include iostream.h struct student { char name[10]; //学生姓名 float phi,math,ave; //理、数、平均 } ; void Display(student s) //输出学生成绩 { couts.name\ts.phi\ts.math\ts.ave\n; } void Average(student s) //计算平均成绩 { s.ave=(s.phi+s.math)/2;} void main(void) { student stu; cinstu.namestu.phistu.math; //输入姓名与成绩 Average(stu); //计算平均成绩 Display(stu); //显示输出学生成绩 } 可见:描述学生成绩数据的结构体变量stu与处理stu的函数是分开的。 存在问题 a. 若要在学生成绩中增加一门课程英语eng,如何处理? 后果:函数均要重新设计。在编写由多人参加的大型程序时,这会给程序的设计、调试与维护都带来很大困难。 另外,由于把函数与要处理的数据分开,对数据结构或函数的任何不适当的修改都可能导致整个程序不能正确执行。 b. 设计方法的安全性 在函数中可随意对学生成绩作修改,如在主函数中对数学进行修改,只要执行一条赋值语句s.math=90即可,因此数据的安全性得不到保证。 #include iostream.h # include string.h class TStudent { private: char Name[8]; //定义姓名、物理、数学、平均成绩 float Phi,Math,Ave; //为私有数据成员 public: void Get(char name[],float phi,float math,float ave) //Get()函数读取成绩 { strcpy(name,Name); phi=Phi; math=Math; ave=Ave; } void Put(char name[],float phi,float math) //定义Put()函数写入学生成绩 { strcpy(Name,name); Phi=phi; Math=math; } void Display( void) //定义Display()函数显示学生成绩 { coutName\tPhi\tMath\tAve\n; } void Average(void) //定义Average()函数计算平均成绩 { Ave=(Phi+Math)/2; } }; 说明 1. 类名 关键词class定义了名为TStudent的类。 2. 私有成员 在类的定义中,描述学生姓名与成绩的数据Name、Phi、Math、Ave用private定义为私有数据成员。这表明数据成员Name、Phi、Math、Ave只能在类中使用,而不能在类外使用。 3. 公有成员 对学生成绩信息进行处理的函数Get()、Put()、Display()与Average()用关键词public定义
您可能关注的文档
最近下载
- 律师制度与实务课件:律师收费.pptx
- xx集团粮食仓储及加工基地可行性研究报告.docx
- (正式版)-B 5768.2-2022 道路交通标志和标线 第2部分:道路交通标志.docx VIP
- 青少年法制教育讲稿-甘肃省副省长罗笑虎为中小学生作毒品预防教育报告全文.docx VIP
- 2025年水平定向钻市场调查报告.docx
- 辅导员大一新生入学教育主题班会.pptx VIP
- 天津布兰德新摩尔企业策划咨询有限公司公司简介.ppt VIP
- intouch hmi与archestra集成本机成功安装.pdf VIP
- 中国染料化工项目经营分析报告.docx
- 2025-2026学年浙美版(2024)小学美术二年级上册教学计划及进度表.docx
文档评论(0)