第4章 C++的类与对象.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文档。上传文档
查看更多
第4章C的类与对象

对象参数的传递方式 通过运行栈来传递 主调函数调用拷贝构造函数,在运行栈的传参区域上创建对象 被调函数可以读取传参区域上的对象 有时对拷贝构造函数的调用可以省去 例: z.add(Complex(3, 4)) 直接调用构造函数Complex(float, float),在运行栈的传参区域上建立对象 * 传递方式 在主调函数中创建临时对象 主调函数把该对象地址(引用)传递给被调函数 被调函数返回时,在该地址上执行拷贝构造 * Point fun2() { Point a(1, 2); return a; } void fun2(_Point result) { _Point a; Point_Point(a, 1, 2); Point_Point(result, a); } b = fun2(); _Point temp; fun2(temp); b = temp; 有时返回时可以不调用拷贝构造函数 例:return Point(1, 2); 直接调用构造函数Point(int, int),生成返回的对象 有时主调函数中可以不建立临时对象 例:Point p = fun2(); 先为p申请空间,调用fun2()前传递p的地址,这样在返回时可直接在p的空间上构造返回对象 * 主要内容 面向对象的基本概念、类和对象的声明、构造函数、析构函数、内联成员函数、复制构造函数、类的组合 达到的目标 * * * * * * * * * * * * * * * * * 数据成员的语法: [访问控制属性] 名称 [重数] [:类型] [=默认值] [{约束特征}] 函数成员的语法: [访问控制属性] 名称 [(参数表)] [:返回类型] [{约束特性}] 参数表:[方向] 名称: 类型=默认值 * * 4.5 UML图形标识 —— 4.5.2 UML类图 myClock : Clock - hour : int - minute : int - second : int myClock : Clock 依赖关系 图中的“类A”是源,“类B”是目标,表示“类A”使用了“类B”,或称“类A”依赖“类B” * 4.5 UML图形标识 —— 4.5.2 UML类图 类 A 类 B 作用关系——关联 图中的“重数A”决定了类B的每个对象与类A的多少个对象发生作用,同样“重数B”决定了类A的每个对象与类B的多少个对象发生作用。 * 4.5 UML图形标识 —— 4.5.2 UML类图 类 A 重数A 类 B 重数B 包含关系——聚集和组合 共享聚集 组成聚集(简称组合) 聚集表示类之间的关系是整体与部分的关系,“包含”、“组成”、“分为……部分”等都是聚集关系。共享聚集:部分可以参加多个整体;组成聚集:整体拥有各个部分,整体与部分共存,如果整体不存在了,那么部分也就不存在了。 * 4.5 UML图形标识 —— 4.5.2 UML类图 类 A 类 B 重数A 重数B 类 A 类 B 重数A 重数B * 4.5 UML图形标识 —— 4.5.2 UML类图 Point - x : int - y : int + Point(xx : int = 0, yy : int = 0) + Point(p : Point ) + getX() : int + getY() : int Line - len : double + Line(xp1 : Point, xp2 : Point) + Line( : Line ) + getLen() : double -p1 -p2 1..* 2 1..* 继承关系——泛化 * 4.5 UML图形标识 —— 4.5.2 UML类图 父类 A 父类 B 子类 1 子类 2 在UML图形上,注释表示为带有褶角的矩形,然后用虚线连接到UML的其他元素上,它是一种用于在图中附加文字注释的机制。 * 4.5 UML图形标识 —— 4.5.2 UML类图 注释文字 * 4.5 UML图形标识 —— 4.5.2 UML类图 Point - x : int - y : int + Point(xx : int = 0, yy : int = 0) + Point(p : Point ) + getX() : int + getY() : int Line - len : double + Line(xp1 : Point, xp2 : Point) + Line( : Line ) + getLen() : double -p1 -p2 1..* 2 1.

文档评论(0)

liwenhua00 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档