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

面向对象的方法 面向对象语言被分为两大阵营 纯粹的面向对象语言:Java 混合型面向对象语言:C++ 结构化程序设计 将问题进行功能分解(函数) 效率低,程序的可重用性差。 面向对象方法 将问题分解为一系列的实体(对象) 可维护性、可扩充性好 私有类型成员 #include iostream.h class point { int x1,x2; public: point(int x,int y) { x1=x; x2=y; } }; void main() { point data(4,4); coutdata.x1endl; coutdata.x2endl; } 成员函数的实现 (1) 直接将函数定义在类的主体中。 class clock { …… public: void ShowTime(void) //显示时间 { couthour”:”minute”:”second endl; } }; 成员函数的实现 (2)在类的主体中给出函数原型,然后在类的外部定义成员函数。 返回值类型 类名::成员函数名(参数表) { 函数体 } 作用域运算符(::)指出该成员函数所属的类。 成员函数的实现 class clock { public: void ShowTime(void); //函数原型声明 …… }; void clock::ShowTime(void) //函数实现 { couthour”:”minute”:”secondendl; } 内联成员函数举例 #include iostream using namespace std; inline void output() { cout“This is an inline function!”endl;} void main() { int t; cout“Programe to print a message.”endl; for(t=0;t3;t++) output(); } 构造函数 C++语言提供了类的两个成员函数,它们分别是构造函数和析构函数,可以帮助用户自动完成对象的初始化和清理性工作。 构造函数(constructor)是类所特有的成员函数,对象创建时自动被调用,完成对象的初始化工作。 允许为内联函数、重载函数、带默认形参值的函数 构造函数 语法形式 类名(参数表); 说 明 构造函数名与类名相同。 构造函数无返回值,不能把void写在构造函数名的前面,函数体中也不能出现return语句。 构造函数的访问控制属性必须是public。 拷贝构造函数的实现 clock::clock(clock p) { hour=p.hour; minute=p.minute; second=p.second; } … clock s(10,30,30); //创建对象s,构造函数被调用 clock t(s); //创建对象t,拷贝构造函数被调用 例:系统自动为类建立拷贝构造函数 #include iostream using namespace std; class cube { int height, width, depth; public: cube() {coutConstructor1 calledendl; } cube(int ht , int wd , int dp ) { height=ht; width=wd; depth=dp; coutConstructor2 calledendl; } int volume() { return height*width*depth;} }; void main() { cube cubeone(10,30,40); //定义对象cubeone cube cubetwo(cubeone); /*定义对象cubetwo,调用系统默认的拷贝构造函数,仅将对象cubeone各变量的值拷贝给对象cubetwo,没有其

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档