- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C数据抽象
数据抽象 第三章 回顾 引用 默认参数 内联函数 函数重载 目标 类 各种各样的成员,各种各样的权限 对象 如何申明对象 如何操作对象 类 定义数据的类型以及操作这些数据的函数 类的实例称为对象 类中的变量和函数称为成员 私有和公有 2-1 类成员可以在类的公有或者私有部分声明 数据成员通常在私有部分中声明 在公有部分中声明的成员可以被该类外部的函数访问 公有部分构成类的接口 私有和公有 2-2 无法从类的外部访问私有数据 其他类的私有数据对于当前类也是隐藏的 const成员变量 常量的值在程序的执行期间不会改变 常量必须初始化 const int num=100; num = 200; //错误 num ++; //错误 const char *pr=a; *pr=200(错误) char * const pr=a; pr=b(错误) class A{ private: int a; const b; public: A():b(2)//const成员函数需要在构造函数中初始化 { a=3; } 成员函数 2-1 类的函数称为成员函数 成员函数通常放在类的公有部分 必须定义返回值及参数列表 例如 void setdate(int, int, int); 成员函数 2-2 成员函数可以有局部变量、参数等 成员函数不应与数据成员同名 调用成员函数 2-1 通过调用成员函数与对象通信 object1.member_function1(200); object1.member_function2(); 调用成员函数是操作特定的对象,而不是类 使圆点操作符与特定对象关联 调用成员函数 2-2 访问类的成员函数的一般语法: class_object.function_member(); 作用域 2-1 使用作用域解析操作符(::)在类外定义成员函数 return_type class_name::member_functions (arg1, arg2,..,argn) {} 参数的类型必须与声明的类型完全匹配 作用域 2-2 作用域操作符左侧是类名 将函数标识为特定类的成员 如果两个变量有不同的用途,它们的名称应该反映出这个区别. #include “stdio.h” Int age=5; Void main() { int age =6; Coutageendl; //局部变量覆盖全局变量。打印的是局部变量 Cout::ageendl; //打印全局变量 } 作用域表 构造函数 4-1 自动初始化对象的特殊的成员函数 与所属的类同名 可以在类中声明并定义构造函数,或在类中声明而在外部定义 构造函数 4-2 构造函数没有返回类型 默认构造函数是不带任何参数的构造函数 class username { public: username(); //构造函数 }; username::username() { } 构造函数 4-3 class date{ int month, day, year; public: date() //默认构造函数 {day=1; month=1; year=1999;} date(int x) //仅指定日 {day=x; month=1; year=1999;} date(int x, int y, int z) //指定年月日 {day=x; month=y; year=z;} }; 构造函数 4-4 编译器根据参数调用不同的构造函数 date now; date today(4); date all(23,3,1998); 析构函数 在对象销毁时自动调用的成员函数 编译器会生成对析构函数的调用 与类同名,但是在函数名前有个波浪号 (~) 析构函数没有返回类型,也不带参数 class username { public: ~username(); //析构函数 }; 对象 每个对象对类中的数据成员都有其自己的副本 给定类的所有对象都使用相同的成员函数,保存在代码区。 在定义每个对象时数据就会存入内存,所以每个对象都有一个数据集,保存在数据区 对象声明 This指针——一个问题 Class animal{ int lifeCycle; public: animal(int l=0){ lifeCycle=l;//编译器在执行这个构造函数的时候如何确定lifeCycle是谁的属性? }
您可能关注的文档
最近下载
- 国际会计第七版课后答案(第三章).doc VIP
- ABAQUS六面体网格划分的分块技巧(从SolidWorks导入多实体分块).pdf VIP
- 2024年高校教师资格证之高等教育心理学通关考试题库带答案解析.docx VIP
- 输电点工程施工质量验收统一表式全套(变电土建、变电电气、线路、电缆).docx VIP
- Unit1-Unit3单词默写表(中翻英)北师大版高中英语选择性必修第一册.pdf VIP
- SYT6064-2017 油气管道线路标识设置技术规范.pdf VIP
- 工业机器人技术基础-全套PPT课件.pptx
- 麻醉手术期间病人的容量治疗与血液保护.ppt VIP
- 人教版(2024新版)九年级上册化学全册教案教学设计.docx
- 淞沪会战ppt课件.pptx VIP
文档评论(0)