0面向对象程序设计课程回顾与加强ff.ppt

  1. 1、本文档共127页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
0面向对象程序设计课程回顾与加强ff

值调用:单向传递,一旦形参获得了值便与实参脱离关系,此后无论形参发生怎样的改变,都不会影响到实参。 引用调用:引用类型的形参通过形实结合,成为实参的一个别名,对形参的任何操作都会直接作用于实参。 有人说C++程序员可以分成两类,读过Effective C++的和没读过的。世界顶级C++大师Scott Meyers成名之作的第三版的确当得起这样的评价。当您读过《Effective C++中文版(第3版改善程序与设计的55个具体做法)》后,就获得了迅速提升自己C++功力的一个契机。     在国际上,本书所引起的反响,波及整个计算机技术出版领域,余音至今未绝。几乎在所有C++书籍的推荐名单上,本书都会位于前三名。作者高超的技术把握力、独特的视角﹑诙谐轻松的写作风格﹑独具匠心的内容组织,都受到极大的推崇和仿效。这种奇特的现象,只能解释为人们对这本书衷心的赞美和推崇。 * 第一个有记载的bug是美国海军的编程员,编译器的发明者格蕾斯·哈珀(GraceHopper)发现的。哈珀后来成了美国海军的一个将军,领导了著名计算机语言Cobol的开发。 1945年9月9日,下午三点。哈珀中尉正领着她的小组构造一个称为“马克二型”的计算机。这还不是一个完全的电子计算机,它使用了大量的继电器,一种电子机械装置。第二次世界大战还没有结束。哈珀的小组日以继夜地工作。机房是一间第一次世界大战时建造的老建筑。那是一个炎热的夏天,房间没有空调,所有窗户都敞开散热。 突然,马克二型死机了。技术人员试了很多办法,最后定位到第70号继电器出错。哈珀观察这个出错的继电器,发现一只飞蛾躺在中间,已经被继电器打死。她小心地用摄子将蛾子夹出来,用透明胶布帖到“事件记录本”中,并注明“第一个发现bug的实例。” Bug表示电脑系统或程序中隐藏的错误、缺陷或问题。 VC++程序调试演示 Debugger工具栏简介 变量跟踪 设置断点 快速执行到一个断点 结束Debugger 快速查看变量类型 快速执行到一个断点 点击按钮(F5) 快速执行到断点设置行 VC++程序调试演示 Debugger工具栏简介 变量跟踪 设置断点 快速执行到一个断点 结束Debugger 快速查看变量类型 结束Debugger 点击按钮,结束Debugger VC++程序调试演示 Debugger工具栏简介 变量跟踪 设置断点 快速执行到一个断点 结束Debugger 快速查看变量类型 快速查看变量类型 将光标停留在变量上,可以查看变量类型 其他常用调试技巧 如何检测程序中的括号是否匹配 把光标移动到需要检测的括号前面,按快捷键“Ctrl + ]”。如果括号匹配正确,光标就跳到匹配的括号处,否则光标不移动,并且机箱喇叭还会发出一声警告。 如何查看一个宏(或变量、函数)的定义 把光标移动到要查看的一个宏上,就比如说最常见的DECLARE_MAP_MESSAGE上按一下F12(或右键菜单中的相关菜单),如果没有建立浏览文件,就会出现提示对话框,按【确定】按钮,然后就会跳到该宏(或变量、函数)定义的地方。 如何快速删除项目下的Debug文件夹中临时文件 在工作区的FileView视图中选中对应的项目,单击右键弹出菜单,选择【Clean(selection only)】菜单即可。 其他常用调试技巧-如何查看动态数组所有元素 动态一维数组 动态二维数组 Memory的使用 输入:97 98 99 100 常见逻辑错误 1.忽略了“=”与“==”,“”与””, “|”与 “||”的区别 如 if(a=3) … 2.switch语句中漏写break语句 例如:根据考试成绩的等级打印出百分制数段。 switch(grade) { case A:cout85~100endl; case B:cout70~84endl; case C:cout60~69endl; case D:cout60endl; default:couterrorendl; } 常见逻辑错误 3.指针没有指向具体地址 如: int *p; *p=20; 4.数据没有初始化前使用 int x; int y=x+10; 5.循环内部无意中改变了循环标识变量的值 for(int i=0;i10;i++) { i=1;} 6.数组下标越界或者超界 data[-1]=0; data[ARRAY_SIZE]=0; 7.用错了或者用反了逻辑运算符 if(valuemax valuemin ) 常见逻辑错误 8.用整数作除法运算 比如计算考试通过率:rational=(nPass/nAll)*100; 9.试图使用传值调用方式修改实参的值 void exchange(int a,int b) {

文档评论(0)

173****7830 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档