C++程序设计教程.pptVIP

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

成员对象的构造顺序按类定义的出现顺序成员对象classA{public:A(intx){coutA:x-;}};//-----------------------------------classB{public:B(intx){coutB:x-;}};//-----------------------------------classC{Aa;Bb;public:C(intx,inty):b(x),a(y){coutC\n;}};//-----------------------------------intmain(){Cc(15,9);}//============================classC按A、B的顺序定义对象成员,其构造函数又按b、a的顺序进行构造。到底听谁的,以定义顺序说了算。构造位置全局数据区:全局对象,静态全局对象,静态局部对象,常对象类的静态数据成员也存放在该数据区。目的是为了让对象的生命周期与运行的程序等寿命。栈区:局部对象在函数中定义好、局部对象,随着被调用的返回而析构(销毁)。动态存储区(也称堆区):用new申请的对象用delete销毁。特殊地址空间除此之外,还可以指定特殊地址空间,存放对象回顾

5.拷贝构造函数对象本体与对象实体:对象本体也是对象主体,对象实体则还包括属于对象的衍生物,如,某个人体是人类对象的主体,然而某人还拥有父母,房产等属于某人的世系或资产,描述人的属性不仅仅只是人体数据.从形式上看,对象除了包括数据成员,还包括指向数据的指针.对象本体与对象实体是不一致就是说有时我们会需要把a对象的属性全部转给b对象,

对象本体与对象实体一致就是你要将a对象的属性赋给a对象本身。对于一个简单的变量的初始化方法是用一个常量或变量初始化另一个变量,例如:doublex=12.36;doubley=x;疑问:前面介绍了用构造函数初始化对象,那么能不能像简单变量的初始化一样,直接用一个对象来初始化另一个对象呢?答案是肯定的。例:以定义的一个Point类为例,说明用一个对象来初始化另一个对象。Pointpt1(10,20);Pointpt2=pt1;那么,后一句也可写成Pointpt2(pt1);它是用pt1初始化pt2,此时,pt2各个成员的值与pt1各个成员的值相同,也就是说,pt1各个成员的值被复制到pt2相应的成员当中。在这个初始化过程当中,实际上调用了一个拷贝构造函数。拷贝构造函数:拷贝构造函数是C++中引入的一种新的构造函数。定义一个拷贝构造函数的方式是:类名(const类名形式参数){函数体}由此可看出拷贝构造函数的特点:(1)拷贝构造函数的名称与类的名称相同,且它只有一个参数,该参数就是对该类对象的引用。(2)拷贝构造函数的功能是用于实现对象值的拷贝,通过将一个同类对象的值拷贝给一个新对象,来完成对新对象的初始化,即用一个对象去构造另外一个对象。(3)每个类都有一个拷贝构造函数以本类对象为常量引用参数的构造函数:classDate{public:Date();Date(constDated);//...};Datex;//调用无参构造函数Datey(x);//调用拷贝构造函数例:默认拷贝构造函数:若类中没有定义拷贝构造函数,则系统会悄悄定义一个默认空拷贝构造函数:Date(constDated){}默认拷贝构造函数体一定是空的.空拷贝构造函数负责将传递的对象到新创的对象做对象本体的位对位拷贝.(甚至连指针值都相等,即与参数对象拥有共同的资源)**C++程序设计教程(第二版)第九章对象生灭第九章内容构造函数设计构造函数的重载类成员初始化构造顺序拷贝构造函数析构函数对象转型与赋值1.构造函数设计

初始化要求定义一个对象,其形式与定义一个变量相似,但更具意义。对象与变量的不同在于对象对应于事物,要求从诞生之时起便有明确的意义.对象必须建立一种初始化机制,以满足在编程中可以针对实际问题所提出的要求而赋给一个有意义的初值。创建一个对象,若创建的是全局对象,则以全0的模式表示对象,若创建局部对象,则以随机值表示对象。对象的初始化不是简单的参数与成员对应,而是联系参数到成员的过程.封装性要求StructPoint{

文档评论(0)

181****8468 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档