- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
类与对象的区别 人类是一个类,你是人,我是人,都是人类的实例(instance),或称对象(object)。一个类描述一类事物,描述这些事物所应具有的属性,如人有身长、体重、文化程度、性别、年龄、民族等。 人类只有一个,人类的实例可以有无数个 对象可以被创建和销毁,而类是无处不在的。 根据对象定义方式、位置的不同,对象可分为 全局对象 局部对象 静态对象 堆对象。 定义对象 属于不同类的对象在不同的时刻、不同的地方分别被建立。全局对象在主函数开始执行前首先被建立,局部对象在程序执行遇到它们的对象定义时才被建立。与定义变量类似,定义对象时,C++为其分配空间。 例如,下面的代码定义了两个类,创建了类的全局对象、局部对象、静态对象和堆对象: class Desk //Desk类 { public: int weight; int height; int width; int length; }; class Stool //另一个类:Stool类 { public: int weight; int height; int width; int length; }; Desk da; //全局对象 Stool sa; void fn() { static Stool ss; //静态局部对象 Desk da; //局部对象 //... } void main() { Stool bs; //局部对象 Desk*pd=newDesk; //堆对象 Desk nd[50]; //局部对象数组 //... delete pd; //释放堆对象 } 对象的初始化 根据变量定义,全局变量和静态变量在定义(分配空间)时,将位模式清0,局部变量在定义时,分配的内存空间内容保持原样,故为随机数。 对象定义时,情况不一样。对象的意义表达了现实世界的实体,因此,一旦建立对象,须有一个有意义的初始值。C++建立和初始化对象的过程专门由该类的构造函数来完成。这个构造函数很特殊,只要对象建立,它马上被调用,给对象分配空间和初始化。例如一旦打造了一张桌子,桌子就应有长、宽、高和重量。因此,在桌子对象建立时,构造函数的任务是赋予一组值给该桌子对象。如果一个类没有专门定义构造函数,那么C++就仅仅创建对象而不做任何初始化。 对象的初始化 指为对象的成员变量提供初始值。 C++提供了一种初始化的机制,对象的初始化过程是由类的构造函数完成。 当定义一个对象或用new生成一个对象时,编译器会自动调用构造函数进行初始化。 当对象退出生存期时,编译器会自动调用析构函数进行清理工作。 构造函数和析构函数的特殊性: 它们都没有返回值说明 它们不能被继承 不可取它们的地址 不能用常规的方法调用构造函数 构造函数的需要性 结构初始化的方法如下所示: struct Student { int semesHours; //总需学时数 float gpa; //平均成绩 }; void fn() { Student s={100,3.5};//创建结构变量时,初始化 //... } 但是对类对象来说,如此初始化不行,这是由类的特殊性所决定的。 例如,下面的代码企图在对象创建时,为其初始化: class Student { public: //...公共成员... protected: int semesHours; //此处的数据成员是受保护的 float gpa; }; void fn() { Student s={100,3.5}; //error:不能访问 //... } 构造函数 构造函数的作用是在对象被创建时使用特定的值构造对象,或者说将对象初始化为一个特定的状态。 在对象创建时由系统自动调用。 构造函数的名字一定和类名相同。 如果程序中未定义出,则系统自动产生出一个无参形式的默认构造函数 允许为内联函数、重载函数、带默认形参值的函数 C
有哪些信誉好的足球投注网站
文档评论(0)