类和对象剖析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * 类的实现 类的实现实质上是类的成员函数的实现,即定义类的成员函数。 成员函数的定义形式与一般函数的定义形式基本相同。 在类的外部实现成员函数时,必须在成员函数名前加上类名和作用域限定符(::)。 成员函数的定义也可放在类体内(该函数声明之处),这时成员函数将变成内联函数。 void Time::setTime(int h, int m, int s) { hour=(h=0 h24) ? h:0; // 设置时间 minute=(m=0 m60) ? m:0; second=(s=0 s60) ? s:0; } void Time::showTime() { couthour:minute:secondendl; } private成员hour、minute和 second不允许外界存取, 所以为类Time增加两个 public成员函数,供外界 设置或显示private成员。 如: Time t1, start t1.setTime(12, 23, 36); 类Time的实现 * 一般将类的定义放在头文件(.h)中 类的实现放在源文件(.cpp)中 main主函数可以放在另一个源文件中 在源文件中用#include编译预处理指令包含头文件。 定义并实现一个类之后,声明对象的形式与声明普通变量类似,例如: Time t1, start ; Time *pt1=t1 ; 利用类声明对象: C++面向对象编程约定之一: 通过成员运算符“ . ”或指向运算符“-”访问对象的公有成员 类中成员互访直接使用成员名 例如,公有成员函数调用 t1.setTime(12, 23, 36); start.showTime(); pt1-setTime(12, 23, 36); pt1-hour; //错误 注意:对私有成员变量的直接访问都是非法的。 成员的访问: 成员变量的初始化一般利用构造函数来完成。 构造函数是一种特殊的成员函数,不需要用户程序调用,就能在创建对象时由系统自动调用。 构造函数的作用是在对象被创建时利用初始值去构造对象,使得在声明对象时就能自动地完成对象的初始化。 构造函数的名称与类名相同。 注意,构造函数不能指定任何返回值类型,包括void返回类型。 如何进行成员 变量的初始化? 3.2.2 构造函数和析构函数 析构函数也是一种特殊的成员函数,在对象生存期即将结束时由系统自动调用的。 析构函数的作用与构造函数相反,用来在对象被删除前做一些清理工作和数据保存工作。 析构函数的名称必须在类名前加上“~”符号,也不能指定任何返回值类型。 * #include iostream.h class Time{ private: int hour; int minute; int second; public: Time(int, int, int); // 构造函数 ~Time(); // 析构函数 . . . . . . }; 例3.3 为类Time添加构造函数和析构函数。 Time::Time(int h, int m, int s) { hour=h; // 对私有成员变量初始化 minute=m; second=s; coutThe constructor be called: hour:’ minute:secondendl; } Time::~Time() { coutThe destructor be called: hour:’ minute:secondendl; } 构造函数和析构函数的实现 void main(void) { Time t1(10, 35, 55) ; // 自动调用构造函数 Time t2(16, 53, 9) ; // 自动调用构造函数 } // 退出main()主函数时自动调用析构函数 程序运行结果为: The constructor be called:10:35:55 The constructor be called:16:53:9 The destructor be called:16:53:9 The destructor be called:10:35:55 构造函数和析构函数的自动调用 * 拷贝构造函数是一种特殊的构造函数,形参为同类的对象引用,作用是使用

文档评论(0)

美洲行 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档