1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch8-1

第八章 类 面向对象的启蒙 (1) 例:幼儿园里,需要为每个宝宝建一个入园档案,档案记载每个宝宝的一些数据。 需定义相关变量如下: char xingMing[11]; int shenGao; //单位:cm float tiZhong; //单位:kg 面向对象的启蒙 (2) 先定义一个常量,假设园里有100名宝宝。  const int BAOBAO_GESHU=100? //100个宝宝  100个宝宝,要100个名字: char xingMing[BAOBAO_GESHU][11]; 100个宝宝,100个身高: int shenGao[BAOBAO_GESHU];  100个宝宝,100个体重: float tiZhong[BAOBAO_GESHU]; 面向对象的启蒙 (3) 应采用面向对象的思想:把同属于一个整体的“数据”,归成一个新的类型去考虑,而不是分割成每一部分。 面向对象的第一个启蒙: 面向对象,是为了让我们把程序写得更“自然而然”。 但是,面向对象并不代表解决问题的最高效率。 补充: 结构体 “结构”提供一种能力,允许程序员把多个数据类型,归属成一个完整的,新的数据类型。利用关键字struct 实现。 以上面的幼儿园管理程序为例,我们可以定义出这样一个新的数据类型: struct BaoBao { ??? char xingMing[11]; ??? int shenGao; ??? float tiZhong; }; //----注意,以分号结束定义   定义BaoBao 类型的变量: BaoBao daBao; daBao占几个字节的内存空间呢? 如何设置和使用 daBao 呢? BaoBao daBao;   daBao.shenGao = 83; // daBao的身高是83cm daBao.tiZhong = 14; //体重是14kg  strcpy(daBao.xingMing, 大宝); //还可以使用strcpy函数来设置姓名 对于指向结构的指针变量,要使用相应结构内的成员变量,必须通过以下语法: (*pDaBao).xingMing; (*pDaBao).shenGao; 设置时应写成: strcpy( (*pDaBao).xingMing, 大宝); (*pDaBao).shenGao=83; - 操作符 BaoBao *pDaBao=new BaoBao; pDaBao-shenGao=83; pDaBao-tiZhong=14; Strcpy( pDaBao-xingMing, 大宝); 实战:编程实现从文件a.txt中读入宝宝的信息,并输出至屏幕上(如图)。文件中的第一个数字代表了宝宝的个数,以后每行信息按“姓名 身高 体重”排列。 知识回顾 当前路径下的文件a.txt中以以下格式存储了某同学的若干门课成绩:第一行的数字n代表了须计算平均分的课程的数目,紧随其后的n个数则分别代表相应的n门课程的成绩。设计一个程序从a.txt中读入成绩求平均分并提供查询功能。 void main() { ifstream fin(a.txt); int n; finn; cout宝宝个数为:nendl; BaoBao *pDaBao=new BaoBao[n]; for(int i=0;in;i++) { finpDaBao[i].xingMingpDaBao[i].tiZhongpDaBao[i].shenGao; } cout姓名setw(8)身高setw(8)体重endl; for(i=0;in;i++) { coutpDaBao[i].xingMingsetw(8)pDaBao[i].tiZhong setw(8)pDaBao[i].shenGaoendl; } } 对于自定义的结构类型,我们可以如同内部数据类型一样,定义该类型的变量、指针、数组。 在使用结构体时,我们更多的是使用它们的各个成员变量,这可以通过.操作符和-操作符实现。 同样地,我们可以使用结构体变量做函数的参数或返回值;做参数时也有传值和传址两种形式。 结构变量作为函数参数 实例:我们先来定义一个结构,这个结构用于表达一个四边形(SiBianXing):  struct SiBianXing { ??? int b1, b2, b3, b4;? //四边形的四条边 };  现在我们要做两道题:  第一道:写一个函数,对所给的四边形求周长。 第二道:写

文档评论(0)

me54545 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档