欢迎来到天天文库
浏览记录
ID:49223331
大小:117.00 KB
页数:24页
时间:2020-02-02
《模板类和异常处理.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构预备知识北京邮电大学电信工程学院计算机技术中心2021/7/241预备知识模板1函数模板2类模板异常处理throwtrycatch2021/7/242北京邮电大学电信工程学院计算机技术中心模板什么是模板?模板是C++中的通用程序模块。运行中根据输入的不同的数据类型,可以产生不同的程序模块。分类1函数模板2类模板2021/7/243北京邮电大学电信工程学院计算机技术中心模板函数模板用来实现一些通用的函数。尤其对于一些函数功能相同,但函数使用的数据类型不同的地方。比如:求最大值、各种算数运算等、排序、查找等等
2、。2021/7/244北京邮电大学电信工程学院计算机技术中心比如比较运算intCompare(inta,intb);intCompare(floata,floatb);intCompare(chara,charb);templateintCompare(Ta,Tb);关键字形式化参数2021/7/245北京邮电大学电信工程学院计算机技术中心函数模板定义template函数类型函数名(形参){函数体;}使用和普通的函数使用方法一样。T1称为形式化参数函数类型、
3、形参类型都可以使用T作为数据类型函数模板例如template//求两个数中较大的一个Tmax(Ta,Tb){returna>=b?a:b;}voidmain(){cout<4、return-1;}2021/7/248北京邮电大学电信工程学院计算机技术中心思考:实现一个通用查找函数templateintFind(Ta[],Te,intlen){for(inti=0;i5、lateclass类名{成员变量;成员函数;};成员变量的类型、成员函数的类型等都可以使用T作为数据类型2021/7/2411北京邮电大学电信工程学院计算机技术中心类模板类外实现成员函数template函数类型类名::成员函数名(形参){函数体;}2021/7/2412北京邮电大学电信工程学院计算机技术中心类模板模板类的使用类名<参数化类型T>对象名;2021/7/2413北京邮电大学电信工程学院计算机技术中心例子题6、目实现一个通用数组类,要求:1、可以容纳任意类型的数据2、数组长度可任意3、实现增加、删除、获取数组长度的操作2021/7/2414北京邮电大学电信工程学院计算机技术中心templateclassArray{public:Array();voidAdd(Tx);TRemove(inti);intGetlength();~Array();private:T*pdata;intn;};说明模板类2021/7/2415北京邮电大学电信工程学院计算机技术中心templateArray7、::Array(){pdata=NULL;n=0;}templateArray::~Array(){deletepdata;}前缀模板类2021/7/2416北京邮电大学电信工程学院计算机技术中心templatevoidArray::Add(){……}templateTArray::Remove(inti){……}Arraya;2021/7/2417北京邮电大学电信工程学院计算机技术中心异常处理如何增加程序的鲁棒性?程序在实际运行中,总会8、有一些因素导致程序不能正常运行。正常运行的一个程序可能发生的错误,称为异常。异常处理提供了一种机制,用来对异常进行监测和控制。2021/7/2418北京邮电大学电信工程学院计算机技术中心异常处理异常处理机制throw抛出异常,供try捕捉try监测/捕捉异常catch处理try捕捉的异常2021/7/2419北京邮电大学电信工程学院计算机技术中心例子没有异常处理的系统函数
4、return-1;}2021/7/248北京邮电大学电信工程学院计算机技术中心思考:实现一个通用查找函数templateintFind(Ta[],Te,intlen){for(inti=0;i5、lateclass类名{成员变量;成员函数;};成员变量的类型、成员函数的类型等都可以使用T作为数据类型2021/7/2411北京邮电大学电信工程学院计算机技术中心类模板类外实现成员函数template函数类型类名::成员函数名(形参){函数体;}2021/7/2412北京邮电大学电信工程学院计算机技术中心类模板模板类的使用类名<参数化类型T>对象名;2021/7/2413北京邮电大学电信工程学院计算机技术中心例子题6、目实现一个通用数组类,要求:1、可以容纳任意类型的数据2、数组长度可任意3、实现增加、删除、获取数组长度的操作2021/7/2414北京邮电大学电信工程学院计算机技术中心templateclassArray{public:Array();voidAdd(Tx);TRemove(inti);intGetlength();~Array();private:T*pdata;intn;};说明模板类2021/7/2415北京邮电大学电信工程学院计算机技术中心templateArray7、::Array(){pdata=NULL;n=0;}templateArray::~Array(){deletepdata;}前缀模板类2021/7/2416北京邮电大学电信工程学院计算机技术中心templatevoidArray::Add(){……}templateTArray::Remove(inti){……}Arraya;2021/7/2417北京邮电大学电信工程学院计算机技术中心异常处理如何增加程序的鲁棒性?程序在实际运行中,总会8、有一些因素导致程序不能正常运行。正常运行的一个程序可能发生的错误,称为异常。异常处理提供了一种机制,用来对异常进行监测和控制。2021/7/2418北京邮电大学电信工程学院计算机技术中心异常处理异常处理机制throw抛出异常,供try捕捉try监测/捕捉异常catch处理try捕捉的异常2021/7/2419北京邮电大学电信工程学院计算机技术中心例子没有异常处理的系统函数
5、lateclass类名{成员变量;成员函数;};成员变量的类型、成员函数的类型等都可以使用T作为数据类型2021/7/2411北京邮电大学电信工程学院计算机技术中心类模板类外实现成员函数template函数类型类名::成员函数名(形参){函数体;}2021/7/2412北京邮电大学电信工程学院计算机技术中心类模板模板类的使用类名<参数化类型T>对象名;2021/7/2413北京邮电大学电信工程学院计算机技术中心例子题
6、目实现一个通用数组类,要求:1、可以容纳任意类型的数据2、数组长度可任意3、实现增加、删除、获取数组长度的操作2021/7/2414北京邮电大学电信工程学院计算机技术中心templateclassArray{public:Array();voidAdd(Tx);TRemove(inti);intGetlength();~Array();private:T*pdata;intn;};说明模板类2021/7/2415北京邮电大学电信工程学院计算机技术中心templateArray
7、::Array(){pdata=NULL;n=0;}templateArray::~Array(){deletepdata;}前缀模板类2021/7/2416北京邮电大学电信工程学院计算机技术中心templatevoidArray::Add(){……}templateTArray::Remove(inti){……}Arraya;2021/7/2417北京邮电大学电信工程学院计算机技术中心异常处理如何增加程序的鲁棒性?程序在实际运行中,总会
8、有一些因素导致程序不能正常运行。正常运行的一个程序可能发生的错误,称为异常。异常处理提供了一种机制,用来对异常进行监测和控制。2021/7/2418北京邮电大学电信工程学院计算机技术中心异常处理异常处理机制throw抛出异常,供try捕捉try监测/捕捉异常catch处理try捕捉的异常2021/7/2419北京邮电大学电信工程学院计算机技术中心例子没有异常处理的系统函数
此文档下载收益归作者所有