c++教程第6章-类.pptVIP

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

C++语言程序设计 第6章 类 第6章 类 §6.1 类的引入 局部变量(函数体内) 共享变量(参数和返回值) 全局变量(共享多个数据) 静态全局变量(局限于文件) 文件可被视为模块(有数据及操作,隐藏数据) 文件模块不能用来生成多个同种模块; 结构可以,但任何外部函数可直接修改结构数据 §6.2 类定义 §6.2 类定义 §6.2.1 类的声明 §6.2.1 类的声明 §6.2.1 类的声明 §6.2.2 对象的定义 声明类之后,再定义对象 如:Student zhang, wang; 或:class Student zhang, wang; 在声明类的同时定义对象 如:class Student{…} zhang, wang; 不出现类名,直接定义对象 如:class {…} zhang, wang; §6.2.2 对象的定义 对象的动态创建和释放 使用new和delete运算符实现对对象的动态创建与释放; 如语句:student *stu=new student; 分配给学生对象一个存储块,并返回一个指向该对象的指针; 该对象将一直保留分配的存储,直到显示地用delete运算符删除它:delete stu; §6.2 类定义 类成员的访问(?和.) void main( ) { stack sta; sta.p=sta.v; sta.v[1]=‘c’; sta.push(‘a’); char ch=sta.pop(); } §6.2 类定义 §6.2 类定义 §6.3 构造函数和析构函数 §6.3.1 构造函数 构造函数的作用 创建对象时对对象的数据成员初始化 构造函数的特点 构造函数是类的一个特殊的成员函数,构造函数名与类名相同,且没有返回值 构造函数不需要用户调用,由系统在创建对象时自动调用的 构造函数内容一般是初始化数据语句,但也可以是其他的语句 创建对象时肯定会执行一个构造函数 §6.3.1 构造函数 §6.3.1 构造函数 §6.3.1 构造函数 带参数的构造函数 一般格式为: 构造函数名(参数表); 实参是在定义对象时给出的,一般格式为: 类名 对象名(实参表); 带参数的构造函数形式可以方便的实现对不同对象进行不同的初始化 例:在创建stack类时,希望用户可以指定栈的大小? §6.3.1 构造函数 §6.3.1 构造函数 §6.3.1 构造函数 §6.3.1 构造函数 构造函数重载 在类中定义多个构造函数,这些构造函数具有相同的函数名而参数表中参数的个数或类型不同 相当于给类实例化对象时提供了不同的初始化方法. 在使用重载构造函数时,应注意不要产生二义性。 §6.3.1 构造函数 §6.3.1 构造函数 §6.3.2 析构函数 析构函数的作用 在系统释放对象之前进行清理工作。 析构函数的特点 析构函数的函数名是固定的,由“~”+“类名”组成 析构函数没有返回值 析构函数没有参数 如果没有自己写出析构函数,系统会自动生成一个析构函数 §6.3.2 析构函数 析构函数的特点 析构函数在对象生命周期结束时由系统自动调用 §6.3.2 析构函数 6.3.3 构造函数和析构函数调用次序 总的原则 当创建对象时调用构造函数,当释放对象时调用析构函数 创建对象是当程序执行到了非静态对象的定义语句或第一次执行到静态对象的定义语句 释放对象则是对象到了生命周期的最后时系统释放对象或通过delete运算符动态释放new运算符动态申请的对象 6.3.3 构造函数和析构函数调用次序 6.3.3 构造函数和析构函数调用次序 6.3.3 构造函数和析构函数调用次序 §6.3.4 成员函数 不属于任何类的函数称为普通函数; 成员函数隶属于某个类; 成员函数与普通函数的区别 成员函数是属于某个类的,是类的一个成员 成员函数可以指定访问属性 成员函数可以访问本类的任何成员,而普通函数只能访问对象的公用成员 对于成员函数,一般是将需要被类外调用的声明为公用的,不需要被类外调用的声明为私有的。 §6.3.4 成员函数 §6.3.4 成员函数 §6.3.4 成员函数 inline函数 在编译时将被调用函数的代码直接嵌入到调用函数处 inline成员函数就是将类中的成员函数声明为内置的 当类中的成员函数是在类内定义时,默认该成员函数是inline成员函数 如果成员函数定义在类的外部,则在成员函数声明或定义前必须要有inline关键字。 §6.4 类成员 §6.4 类成员

文档评论(0)

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

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

1亿VIP精品文档

相关文档