- 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程序语言设计-Read
C++程序语言设计 Chapter 6: 综合一 C++句柄类 class objClass { public: int i; private: int j; public: int k; } C++访问控制只针对编译器有效,在内存中则一视同仁。 如何突破访问控制的限制,直接访问类的私有数据成员? C++句柄类 隐藏实现 减少重复编译 参见Handle0.cpp、Handle0.h 注意:“Cheshire* smile;”,为什么? C++句柄类 实际示例 尽量隐藏类数据成员,仅提供公共的类成员函数接口。 参见代码,其中: handle.h是暴露给client的唯一接口; handle.cpp是handle class的实现,无须暴露; body.h和body.cpp是body class的实现,无须暴露; client.cpp是client的范例。 C++句柄类 编译方法 g++ -c handle.cpp g++ -c body.cpp ar rcs libimpl.a handle.o body.o handle.h是暴露给client的唯一接口,因此client只要在其文件里包含handle.h就可以了。 g++ client.cpp libimpl.a -o client Make 以上的编译步骤可以利用配置文件自动完成 批处理文件.bat make-makefile ant-build.xml Make make的行为 target ... : prerequisites ... command 一句话,prerequisites中如果有一个以上的文件比target文件要新的话,command所定义的命令就会被执行。 Make 宏 后缀规则 默认目标 参考《跟我一起写Makefile》 利用Eclipse和CDT编译C++ Eclipse CDT 插件安装方式 参考文章 常量 const and #define const用于定义常量,用const定义的常量必须进行初始化,而且初始化必须在定义的地方 对于const定义的常量,编译器可以对其进行数据静态类型安全检查 对于#define宏定义的常量,编译器只是进行简单的字符替换,没有类型安全检查,且会出错 #define N 100 #define M 200 + N N * M; //100 * (200 + N)还是100 * 200 + N 常量 const and #define 有些调试程序可对const进行调试,但不对#define进行调试 当定义局部变量时,const作用域仅限于定义局部变量的函数体内 用#define时其作用域不仅限于定义局部变量的函数体内,而是从定义点到整个程序的结束点 如果想让一个值不变,就应该使之成为const 常量 指针与const int* const p; //p++; //修改p本身,Error //*p = 2; //OK const int* p; //p++;//OK // *p = 2; //Error const int* const p; //指针p本身是不能被修改并且p所有有效的内容也不能被 修改 *p = 2; Error 和 p++; Error int const* p; ??? 常量 const与类型检查 可以把一个非const对象赋给一个指向const的指针,因为有时候我们不想从这个指针来修改其对象的值; 不可以把一个const对象赋值给一个非const指针,因为这样可能会通过这个指针改变指向对象的值 使用类型强制转换可以通过指针改变const对象 const int r=100; int * ptr = const_castint*(r); 常量 const与函数参数及返回类型 值传递时不需要加const修饰 指针传递时,加const修饰可防止意外修改指针指向的内存单元,起到保护作用 当输入参数为用户自定义类型或抽象数据类型时,应该将“值传递”改为“const 传递”,目的可以提高效率 const修饰函数返回类型用法类似,仅仅修饰的对象变成一个返回对象 常量 const类成员和const成员函数 const类成员在构造期间会允许被初始化并且在以后不能被改变。 const成员函数的描述: 返回类型说明符 函数名 (参数列表) const; 如果一个成员函数不会修改数据成员,那么最好将其声明为const,因为const成员函数中不允许对数据成员进行修改,这大大提高了程序的健壮性 常量 const记忆法则 const修饰后面一个最近的名称 const in
您可能关注的文档
- 03年11100化学性因子作业环境测定甲级技术士技能检定学科.PDF
- 03年地球科学学科能力测验试卷-龙腾文化.PDF
- 04年16400车辆涂装乙级技术士技能检定学科测试试题本试卷有.PDF
- 04年03100锅炉操作甲级技术士技能检定学科测试试题本试卷有.PDF
- 04年上半年自卫消防编组训练含验证.PDF
- 04化学科展培训课程成果册.PDF
- 05学年全国中学生水上救生运动锦标赛竞赛规则.PDF
- 05年10月份干事部会议纪录-水上安全工作大队.PDF
- 05学年高中优质化辅助方案专家辅导谘询.PPT
- 05年台北防减灾及气候变迁调适教育教材-台北教育入口网.PDF
- DCS冗余电源系统使用说明.PDF
- DD5单晶高温合金大间隙钎焊的组织演变与界面形成机制-金属学报.PDF
- DDA块体接触开r闭迭代研究.PDF
- DEFC不锈钢双极板的电化学行为研究-轻工学报-郑州轻工业学院.PDF
- CuS-微纳试验室-合肥工业大学.PDF
- DDC型电感式点腐蚀测深仪的研制-南京工业大学学报自然科学版.PDF
- DLS型高精度多功能拾振器的设计与应用-地震工程与工程振动.PDF
- DMA在铜箔基板CCL及印刷电路板PCB的应用.PDF
- DMT系统中一种易于实现的时域均衡器ApracticalTEQdesign-维普.PDF
- DPF中子峰下波形测量数据计算中长电缆滤波影响的-原子核物理评论.PDF
最近下载
- 延续性动词和非延续性动词.docx VIP
- 新解读《GB_T 6730.2-2018铁矿石 水分含量的测定 重量法》.docx VIP
- DL_T 1751-2017燃气-蒸汽联合循环机组余热锅炉运行规程.pdf
- 2022陆上风电场工程工程量清单计价规范.pdf VIP
- 爆炸极限LEL及爆炸浓度计算.xlsx VIP
- 2025年武汉市中考英语试卷真题(含答案详解).pdf
- 2023届江苏省苏州外国语学校高三第五次模拟考试数学试卷(含答案解析).doc VIP
- YAESU八重洲FTM-300DR_AM_中文说明书 2020-08-06.pdf
- 黄冈介绍-黄冈简介(经典版).ppt VIP
- 佳能70D中文使用说明书..pdf
文档评论(0)