- 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.从认识的角度方面 2.C++语法角度方面 1.从认识的角度 类即是客观事物的分类。如人“类”、书桌“类”、房屋“类”等。 对象就是类的实际例子(常称为实例化)。 2.C++语法角度 类就是一种“扩展”的结构数据类型。但类内封装了对数据的操作(方法、函数),即具有动态功能。 2.C++语法角度 定义对象同定义变量一样。所以,对象也同样具有类似变量的如存储属性、全局、局部、静态以及动态分配对象等。 类 从语言角度来说,类是一种新的数据类型,而对象是具有这种类型的变量。类是一种将数据和作用于这些数据上的函数组合在一起的复杂数据类型,是可重用的基本单元。 一个类就是一个用户自定义数据类型。 类是面向对象程序设计的核心,利用它可以实现对象的抽象、数据和操作的封装以及信息的隐蔽。 类定义 P45 类定义一般分为说明部分和实现部分。说明部分是说明该类中的成员,实现部分是对成员函数的定义。 类定义的一般格式如下 如对轿车对象 car 在C++用结构类型是这样描述的 struct car {float speed; int color; int size; up_speed(); down_speed(); } 假设只描述car 的速度、颜色、大小及施加于轿车的加(减)速 C++ 的 struct 中,允许有函数 这些函数刻画(表现)的是对象的动态行为。称为成员函数。有时又称为方法、行为等 而通常在C 中的数据“看起来”是静态的,刻画(表现)的是对象的静态特性。称为数据成员。这里的静、动态含义是相对的概念。应从OOP的思想角度正确理解。 用 struct 类型描述,不利于对对象数据的隐藏(封装) 这是因为C++中的 struct 来自于C,需要兼容C的缘故。如: void main(){ struct car 奥拓 , 奔驰 ; 奥拓 . size=10; 奔驰 . color=2;} 能够随意对奥拓轿车 、 奔驰轿车的大小和颜色,侵犯了它们的隐私。这有悖于对象独立性的特点。 一般是将数据成员设置为私有的 (private) struct car { private: float speed; int color; int size; public: void up_speed(); void down_speed(); void modify_color(); } 如对轿车对象 car 在C++用类是这样描述的 class car { float speed; int color; int size; void up_speed(); void down_speed(); void modify_color(); } 假设只描述car 的速度、颜色、大小及施加于轿车的加(减)速 随意访问对象的成员将受到限制 void main() { car 奥拓 , 奔驰 ; 奥拓 . size=10;//error 奔驰 . color=2;//error 奥拓 . up_speed();//ok 奔驰 . Down_speed();//ok } 通过对象的接口(行为)访问对象属性是提倡的 新类型--“类”--(class)用于封装 这是因为 class 类型默认其成员为私有的,便于封装。 而结构类型 struct 默认其成员为公有的。 class 可理解为对struct 的“改进”。 下列两种写法是等效的 struct aaa {private: int x; public: get_x();} class aaa {int x; public: get_x();} 如无特殊需要,C++中一般用 class 来描述对象。 但应要了解C++中 struct 和 class 的区别: class 默认其成员为私有。 struct 默认其成员为公有。 注意 在类中不允许对
文档评论(0)