- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C回顾类
C++回顾----结构、 类和对象 * 一、 结构 struct 结构类型标识符 { 结构成员1的声名; 结构成员2的声名; ┆ 结构成员n的声名; }; 1、是一种复合的数据类型,结构类型变量由多个类型可以不 同的成员构成。 2、使用时需先声名结构类型,再定义该类型变量。 3、除做函数参数可整体引用外,其它情况一律引用到成员。方法: 结构变量.结构成员 结构指针-结构成员 结构类型声名 [例]声名一个有关学生的结构类型,包括:学号、姓名、五门功课的成绩。再定义包含10个学生信息的结构数组和一个指向该数组首元素的指针。 struct student { int num; char name[20]; double score[5]; } s[10],*p=s; 问题一:如何给第一个学生的学号赋值为99001? s[0].num=96001; 或: p-num=96001; 问题二:如何给第二个学生的姓名赋值“LiPing”? strcpy(s[1].name, “LiPing”); 问题三:假设有定义 student *q,如何动态为q申请能够存放一个学生信息的空间? q=new student 问题四:如何输入第一个学生的全部信息? cins[0].nums[0].name; for(i=0;i5;i++) cins[0].score[i]; 假设定义过全局变量student s(C语言中要求struct student s),编写以下函数: (1)输入s的信息 (2)求s的平均分 (3)输出s的信息,包括平均分。 void input( ) { int i; cins.nums.name; for(i=0;i5;i++) cins.score[i]; } double ave( ) {double sum=0; for(int m=0;m5;m++) sum=sum+s.score[m]; return(sum/5); } void print( ) { couts.num\ts.name\t; for(int m=0;m5;m++) couts.score[m]\t; coutave( )endl; } void main() { input( ); print( ); } 结构化程序的缺点: 数据和函数分离,使程序不易维护。 多个函数通过全局变量进行通信,程序安全性不易保证。 为此,引入类的概念,将数据和对数据操作的函数封装在一个整体里。 C++中的类从C语言中的结构概念演变而来 二、 类和对象 class Student//定义Student类 { private: int num; char name[20]; double score[5]; public: void input( ) {int i; cinnumname; for(i=0;i5;i++) cinscore[i]; } double ave( ) {double sum=0; for(int m=0;m5;m++) sum=sum+score[m]; return(sum/5); } void print( ) { coutnum\tname\t; for(int m=0;m5;m++) coutscore[m]\t; coutave( )endl; } }; 以下定义一个具有与前面例子相同功能的学生类。 void main( ) { student s;//定义s为Student 类 的一个对象 s.input( ); s.print( ); } 特点: 1、数据成员访问权限为private,只能被类内自身成员函数访问。 以保证数据安全。 2、成员函数访问权限为public, 可被外界访问。以保持和外界联系 3、内部访问直接用成员名,外部访问要通过对象进行访问。具体方法类似对结构成员的访问。 对象名.成员名 对象指针-成员名 通常内部访问的成员是数据成员 而外部访问的成员为成员函数。 成员函数在类体内说明,在类体外实现的方法: class Student//定义Student类 { private: int num; char name[20]; double score[5]; public: void input( ); double av
原创力文档


文档评论(0)