- 1、本文档共589页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
完整版ppt全套课件完整版课件全套ppt完整版电子教案全套电子教案整本书电子教案全套电子讲义最全电子讲义
Thank you! 项目八 任务一 了解模板基础知识并掌握函数模板的使用 任务二 掌握类模板的使用 模板 提高代码重用的有效机制 任务说明 预备知识 任务一 了解模板基础知识并掌握函数模板的使用 在本任务中我们将学习模板的基础知识及其使用方法。 一、模板概述 二、函数模板 一、模板概述 模板是实现代码重用的一种工具,它把类型定义为参数,根据类型参数来产生函数和类,从而可以对许多类型的数据进行操作。使用模板可以大大减少代码量,提高代码的效率。 模板分两类:函数模板和类模板,用户可以将它们实例化为具体的函数和类,称为模板函数和模板类。 (一)函数模板 函数模板是对一组具有相似结构的函数的描述,它不是一个实实在在的函数,编译系统不会为其生成执行代码。当编译系统在程序中发现存在与函数模板形式相匹配的函数调用时,便会生成一个与函数模板的函数体相同的重载函数,此时,才会生成可执行代码,该重载函数称为模板函数。 函数模板与模板函数的区别如下: (1)函数模板表示的是一个模板,是对一组函数概括性的定义,用来生产函数。 (2)模板函数是由模板生产出来的一个个具体的函数,它们的函数体与对应的函数模板的函数体相同,且每个函数都使用具体的数据类型,它们是函数模板的实例。 函数模板可以生成不同的模板函数,这里的不同是指模板函数的原型不同,而这些不同原型的模板函数之间是重载的关系。因此也可以说,函数模板是为重载函数提供的样板。函数模板与模板函数的关系如图所示。 步骤2 经编译、连接后,程序运行结果如图所示。 任务二 掌握C++中的异常处理机制 任务说明 程序常见的错误大体上分成语法错误和运行错误两类。 语法错误:指编译过程中,系统能够识别的错误,如语句末尾缺分号、变量名未定义、关键字拼写错误以及括号不匹配等。这类错误比较容易发现及改正,由于其在编译阶段发现,又称为编译错误。 运行错误:程序能通过编译,但运行过程中出现异常导致运行结果不正确、程序非正常终止和死机等现象。造成这些结果的原因有很多,如除数为0、内存不足、文件无法打开、输入数据时数据类型有错等。这种错误比较隐蔽,不容易发现,调试过程通常也比较困难。 预备知识 一、异常处理的实现 二、类的异常处理 三、异常规范 1.异常处理机制的组成 在学习和使用异常处理语句之前,我们先来了解一下C++中的异常处理机制,其主要由以下三个部分组成: 一、异常处理的实现 (1)检查异常(try语句块) (2)抛出异常(throw语句块) (3)捕捉并处理异常(catch语句块) 【例7-3】 异常处理应用示例。 //7-3.cpp #includeiostream #includefstream #includestring using namespace std; int main() { char filename[80]; cout请输入要读取的文件名:; cinfilename; ifstream infile(filename); try //try语句检查可能出现异常的语句 { if(!infile) throw string(filename); //throw语句抛出异常信息 } catch(string s) //catch语句捕捉异常信息并作相应处理 { cout文件s不存在,打开失败!endl; return 0; } cout读取文件filename内容,并在屏幕上输出:endl; for(string str;getline(infile,str);) coutstrendl; return 0; } 在上例中,程序中可能出现异常的部分是文件打开是否成功,所以将该语句放在try后面的花括号(try语句块)中。如果输入的文件存在,即没有发生异常,则catch语句块不起任何作用,流程直接转到catch语句块之后的语句(显示文件中的内容)继续执行 如果在执行try语句块的过程中发生异常,即文件打开失败,则由throw语句抛出一个string类型的异常信息string(filename),之后throw语句后的所有语句均被忽略不执行,直接跳转到catch语句块。由于catch子句所捕获的错误类型是string类型,于是执行catch语句块中的内容。 C++中异常处理的方法是:在执行一个程序的过程中,如果某个函数出现异常,可以不在本函数中处理,而是将异常信息传递给调用它的上一级函数,它的上一级捕获这个信息并进行处理;如果上一级的函数不能处理,则将该信息继续向其上一级传递,直到异常被处理为止;如果到最高一级
您可能关注的文档
- 287461餐饮服务与管理 最全课件完整版ppt教程整套教学讲义(必威体育精装版).ppt
- C程序设计教程完整版教学课件.ppt
- CorelDRAWX3精品教程完整版教学课件 整套教程电子讲义(最全必威体育精装版).ppt
- C语言程序设计全套课件完整版整套ppt最全幻灯片(必威体育精装版).ppt
- Excel2016完整版教学课件最全ppt整套教程电子讲义(必威体育精装版).ppt
- 新媒体在工程领域的应用-工程师角色.pptx
- 未来隧道施工的探索与创新-行业趋势与技术革新深度解析.pptx
- 操作级船员适任考试指南复习测试卷附答案.doc
- 培训项目总结-总结培训,为未来参考.pptx
- 智能电力,未来共赢-携手拓展绿色智能电力市场.pptx
文档评论(0)