网站大量收购独家精品文档,联系QQ:2885784924

C++(day09)C++实务精选罕见资源大集合.docx

C++(day09)C++实务精选罕见资源大集合.docx

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++笔记 2007 年 4 月 3 日 1、类型封装 类 -- 对象 描述 : (1)属性 (2)行为 ---属性和行为是属于类的创建对象。 2、构造函数 --- 初始化对象 构造函数名字必须与类名一样 构造函数不能写返回类型 构造函数在创建对象时,系统自动调用 构造函数允许重载,按用户要求,适应多种情况 当类中一个构造函数都没有的时候,系统提供默认无参的构造函数 但如果在类中定义了一个构造函数,系统就不提供默认的了,所以,建议,在写构造函数时,都要写一个无参的构造函数 3、对类的安全的定义 变量 - 私有 - private 保护变量,防止外界随意修改,只能在类的内部使用(只能被自己的成员函数使用) 函数 - 公有 - public 为保证私有变量也能为外界访问,在类内部提供set,get 方法 set 方法没有返回值,但要求有参数get 方法肯定有返回值,没有参数 4、定义类的步骤 写属性的行为 成员变量 函数 成员变量-- private 成员函数 -- public (3)特殊函数 构造函数,建议写 2 个。一个有参数的,一个无参的 get,set 函数,一个成员变量对应一对 get,set 函数,是外界访问此变量的唯一途径对于setXXX 函数,没有返回值,有参数,参数的类型与被赋值的属性类型一致。对于getXXX 函数,没有参数,有返回值,返回值的类型与输出的属性类型一致。 类的行为 5、封装 定义类的过程就是封装 练习:封装一个account 类型 属性:id , password ,name ,balance 行为:save , withdraw , query 6、把account 类拆成多文件结构 方便快速浏览整个类定义 使用方便,包含头文件即可 long Account::getId(){. } 在函数实现时,函数前把类名加上,确定函数的所有权,避免 2 个类中有同名的函数,编译出错。 :: 称为域访问控制符。 7、Person per ; 创建了一个对象,系统调用构造函数。 Person *p = NULL ; 声明一个类的指针,系统是不会调用构造函数的 Person * p = NULL; p = new Person ; 在堆中申请一个类空间 delete p; 在堆中的数据没有名字,只能通过指针访问类对象,访问类的成员变量: (*p).sayHello(); p-sayHello(); Person ps[5];声明一个Person 类型的数组,会调用 5 次构造函数数组在声明的时候,系统会为其分配空间 并且在声明数组的时候,没有机会指定构造函数,只会调用无参的构造函 数 当一个类定义中没有无参的构造函数,但要声明一个类的数组时,可以声明一个指针数组 Person *ps[5]; ---声明指针的时候,类对象没有创建,数组中每个元素都是 Person 类型的指针,达到: 不用构造函数 实现使用对象 for(int i = 0 ; i 5 ; i++){ ps[i] = new Person(i , 20+i); //用循环初始化每个指针 } for(int i = 0 ; i 5 ; i++){ delete ps[i]; //释放指针指向的空间ps[i] = NULL ; } 8、课堂练习: 要求:main()函数中不能写代码,在运行程序时,打印“Hello World” 答案:全局变量的初始化操作在main 函数执行之前就已经初始化了。因此,可以写一个 全局变量的类,其无参构造函数写输出语句。然后声明一个类的全局对象。 9、在构造函数中,当成员变量名称和形参名称相同,避免冲突的方法: 在每个对象内部都有一个名为this 的指针,指向自己,使用自己的成员变量 this-name 10、析构函数 当对象的生命周期结束,系统要回收空间,会自动被调用申请的所有资源(new char[20]),在析构函数中释放 若对象是在main 函数中的变量,在main 函数结束之后,才会调用析构函数若对象是一个函数中的局部变量,在函数返回时,调用析构函数 析构函数调用 : 对象生命周期结束,系统自动调用析构函数可以把释放资源的代码写在析构函数中 析构函数的写法:构造函数前加 “~” 不能重载,不能有参数 若不写析构函数,系统会提供默认的析构函数 当类中用到了系统空间:new 内存,打开文件就需要写析构函数,释放资源 11、作业:(1)利用面向对象的思想实现栈结构,并自己写main 函数测试。 (2)把原来的银行系统改成面向对象的形式。

文档评论(0)

hao187 + 关注
官方认证
内容提供者

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

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档