第9章对象生灭C++课题.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象程序设计 第九章 对象生灭 Chapter 9 Object Birth Death 第9章 内容 第9章 内容 9.1 构造函数设计( Constructor Design ) 1. 初始化要求 例6:f0807.cpp 例7:f0901.cpp 变量:创建时不用赋值,参与运算再赋值。 对象:与变量的不同在于对象对应于事物,要求从诞生之时起便有明确的意义。 9.1 构造函数设计( Constructor Design ) 2. 封装性要求 结构体对象与类对象访问数据的差异 9.1 构造函数设计( Constructor Design ) 2. 封装性要求 结构体对象与类对象访问数据的差异 封装性要求对象创建中按传递的信息进行一个过程化的初始化工作。初始化不是简单的参数与成员对应,而是联系参数到成员的过程 9.1 构造函数设计( Constructor Design ) 3. 函数形式(构造函数) 特殊的成员函数。 构造函数的作用是在对象被创建时使用特定的值构造对象,或者说将对象初始化为一个特定的状态。 在对象创建时由系统自动调用。 如果程序中未声明,则系统自动产生出一个默认形式的构造函数 允许为内联函数、重载函数、带默认形参值的函数。 9.1 构造函数设计( Constructor Design ) 3. 函数形式(构造函数) 例8:构造函数的声明,实现,调用 class Clock { public: Clock (int NewH, int NewM, int NewS);//构造函数 void SetTime(int NewH, int NewM, int NewS); void ShowTime(); private: int Hour,Minute,Second; }; 9.1 构造函数设计( Constructor Design ) 3. 函数形式(构造函数) 例8:构造函数的声明,实现,调用 构造函数的实现: Clock::Clock(int NewH, int NewM, int NewS) { Hour= NewH; Minute= NewM; Second= NewS; } 9.1 构造函数设计( Constructor Design ) 3. 函数形式(构造函数) 例8:构造函数的声明,实现,调用 建立对象时构造函数的作用: void main() { Clock c (0,0,0); //隐含调用构造函数,将初始值作为实参。 c.ShowTime(); } 9.1 构造函数设计( Constructor Design ) 4. 无返回值 构造函数原则上不能失败,也没有返回形式。 构造函数是类型名称引导的定义语句,不是无返回值的函数调用语句。 构造函数也不是无类型(void)函数 9.1 构造函数设计( Constructor Design ) 5. set的遗憾 例9:f0811.cpp 例10:f0902.cpp 9.1 构造函数设计( Constructor Design ) 6. 一次性对象 创建对象不给出对象名 直接以类名调用构造函数,则产生一个无名对象 无名对象经常在参数传递时用到 9.1 构造函数设计( Constructor Design ) 总结 9.1 构造函数设计( Constructor Design ) 练习1:构造函数的调用 9.2 构造函数的重载( Constructor Overload ) 1. 重载构造函数 允许为内联函数、重载函数、带默认形参值的函数。 例11:f0903.cpp 9.2 构造函数的重载( Constructor Overload ) 1. 重载构造函数 允许为内联函数、重载函数、带默认形参值的函数。 例11:f0903.cpp 9.2 构造函数的重载( Constructor Overload ) 1. 重载构造函数 几点区别 9.2 构造函数的重载( Constructor Overload ) 2. 默认构造函数(无参构造函数) 没有定义构造函数的类则提供默认 9.2 构造函数的重载( Constructor Overload ) 总结 9.2 构造函数的重载( Constructor Overload ) 练习2:构造函数的重载 9.3 类成员初始化( Class Member Initialization ) 1. 默认调用的无参构造函数 例12:f0905.cpp 实质:类中包含子对象的构造函数调用 9.3 类成员初始化( Class Member Initialization ) 1.默认调用的无参构造函数 (1) 当一个类中包含子对象时,构造函数的调用顺序是先调用子对

文档评论(0)

a5522235 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档