C++课件第4章类与对象.pptVIP

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

*(3)当函数的返回值是类对象时,系统自动调用复制构造函数。例如:Pointfun2(){PointA(1,2);returnA;//调用复制构造函数}voidmain(){PointB;B=fun2();}复制构造函数调用的三种情况*如果程序员没有为类声明拷贝初始化构造函数,则编译器自己生成一个拷贝构造函数。这个构造函数执行的功能是:用作为初始值的对象的每个数据成员的值,初始化将要建立的对象的对应数据成员。复制构造函数*设计如下类:1)建立一个Point类,表示平面中的一个点;建立一个Line类,表示平面中的一条线端,内含两个Point类的对象;建立Triangle类,表示一个三角形,内含三个Line类的对象构成一个三角形。2)设计三个类的相应的构造函数、复制构造函数,完成初始化和对象复制3)设计Triangle类的成员函数完成三条边是否能构成三角形的检验和三角形面积计算,面积显示。提出问题*聚合(aggregation):类中的成员,除了成员数据和成员函数外,还有成员对象,即用其他类的对象作为类的成员。使用成员对象的技术称为聚合。成员对象是实体,系统不仅为它分配内存,而且要进行初始化。成员对象与构造函数*原则:不仅要负责对本类中的基本类型成员数据赋初值,也要对对象成员初始化。声明形式:类名::类名(对象成员所需的形参,本类成员形参):对象1(参数),对象2(参数),......{本类初始化}含对象成员的构造函数*classPoint{private:floatx,y;//点的坐标public:Point(floatxx,floatyy);//构造函数floatGetX(void){returnx;}//取X坐标floatGetY(void){returny;}//取Y坐标};类组合构造函数实例*#includeiostreamusingnamespacestd;classCircle{doubleradius;public:voidSet_Radius(doubler);doubleGet_Radius();doubleGet_Girth();doubleGet_Area();};Circle类定义数据成员成员函数用面向对象方法编程-实例解析*voidCircle::Set_Radius(doubler){radius=r;}doubleCircle::Get_Radius(){returnradius;}doubleCircle::Get_Girth(){return2*3.14f*radius;}doubleCircle::Get_Area(){return3.14f*radius*radius;}各对象的代码区共用的方案用面向对象方法编程-实例解析*voidmain(){CircleA,B;A.Set_Radius(6.23);coutA.Radius=A.Get_Radius()endl;coutA.Girth=A.Get_Girth()endl;coutA.Area=A.Get_Area()endl;B.Set_Radius(10.5);coutB.radius=B.Get_Radius()endl;coutB.Girth=B.Get_Girth()endl;coutB.Area=B.Get_Area()endl;}建立对象(类类型变量)通过对象调用类的成员函数用面向对象方法编程-实例解析*#includeiostreamusingnamespacestd;classCircle{doubleradius;public:voidSet_Radius(doubler){radius=r;}doubleGet_Radius(){returnradius;}

文档评论(0)

翰林大当家 + 关注
实名认证
服务提供商

文案个性定制,计划书、方案、策划书专业撰写。

1亿VIP精品文档

相关文档