- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一讲 类和对象 本讲主要内容 结构体 类 对象 学习的建议 引言 思考: 同学们学习过那些数据类型,它们共有的特征是什么? 1. 结构体 格式: struct 结构名称 { 类型 成员1; 类型 成员2; … }; 结构体的引用 对结构体成员的访问方式: 用圆点运算符(.) 即: 结构体变量.成员 如果用指针访问结构体,所指对象包含结构的数据成员,访问形式为: ( *指针).成员 或者: 指针-成员 (建议使用) 结构体成员的深入 结构体成员可以是结构体 如: struct point { double x; double y; }; struct circle { point centre; double radius; } ; 实现单向链表的建立和输出 结构体类型练习 例题2:定义一个日期型结构变量,输入日期,判断该年份是否为闰年,并输出日期,格式为”yyyy-mm-dd”.( j103.cpp) 它仅描述了该类实体所具有的特征(年、月、日),由此可推断出该类型的值集(成员值集的笛卡尔积),即只定义了该类型的值集,而没有定义该类型量所能进行的操作集。 如:Date相关的操作:日期相加、相减等等操作。 解决上述问题的有效做法是像基本类型一样将其数据成员(Data Member,struct中定义的变量)和其上的操作(struct中的函数,亦称为成员函数/方法,Member Function /Method)显式地定义(绑定)在一起(C++对C的结构定义进行了扩充,允许将成员函数定义在结构体中),以显式地定义其值集和操作集,但前提是没有其它函数有权直接访问这个类型的任何数据成员,即: 这样,我们从形式上就定义了一个具有类型特征(一个值集和封闭于该值集上的操作集)的自定义类型?——?类。 2. 类的定义 类是在结构的基础上发展而来的。 类不但描述数据空间,还描述其操作的自定义类型。 在面向对象程序设计中,程序的基本单位是类,类是用户定义的数据和操作这些数据的函数的封装。类的对象使用自己的方法完成对数据的操作。 程序员的分工: 类的设计 类的使用 类 类定义的一般格式: class 类名 { private: 私有段数据成员和成员函数; public : 公有段数据成员和成员函数; protected: 保护段数据成员和成员函数; } ; 类设计练习 定义一个复数类complex,实现复数加、减和乘的功能。 数据成员 数据成员的定义与普通变量的 定义类同。 必须在类的内部进行定义。 定义是给出访问权限修饰符。 如果私有成员在第一段,可以省略关键字private 数据成员的先后顺序没有限制。 成员函数 成员函数的定义与普通函数的 定义类同。 定义是给出访问权限修饰符。 如果私有成员函数在第一段,可以省略关键字private 成员函数的先后顺序没有限制。 成员函数可以在类内,也可以在类外进行定义。 在类内定义,该成员函数处入被编译自动安排到最佳运行性能的状态,但开销较大; 在类外定义,提高程序的可读性,开销较小; 在类外定义时,在类内必须给出函数原型; 要用到域名空间引导符: :: 在类内定义的函数,我们成为内联函数,如果将内联函数写到类外部的话,需要在定义函数前加入一个关键字 inline 类设计的练习 例题3. 设计一个学生类,他具有的私有成员是:学号、姓名、数学、英语和计算机成绩;具有的公共成员函数是:输入学生信息,求三门课的总成绩,求平均成绩,显示学生信息。(j104.cpp) 课题练习 选择题 1、下列有关类的说法,( )是不正确的。 A、类是一种用户自定义的数据类型 B、只有类中的成员函数才能存取类中的私有数据 C、在类中如果不作特别声明,所有数据成员均为私有类型 D、在类中如果不作特别声明,所有成员函数均为私有类型 2. 在类中定义和实现的函数可以称为( )。 A)静态成员函数 B)内联函数 C)常成员函数 D) 虚函数 3. 对象 对象是类的实例。 就像数据类型和变量类同。 访问对象成员 一般的对象的成员表示如下: 对象名. 数据成员名 对象名.成员函数名( 参数列表 ) 指向对象的指针的成员表示如下: 对象指针名 -数据成员名
文档评论(0)