下载此文档

第12章 模板与异常处理.ppt


文档分类:IT计算机 | 页数:约33页 举报非法文档有奖
1/33
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/33 下载此文档
文档列表 文档介绍
大学C++程序设计教程
西安交通大学
计算机教学实验中心 .
第12章模板与异常处理
本章目标
掌握函数模板概念和使用
掌握类模板概念和使用
了解异常处理机制
1
授课内容
模板
异常处理机制
友元
程序设计举例
实例编程矩阵类
2
一、模板
函数模板
template <<模板参数表>>
<类型> <函数名>(<参数表>)
{

}
类模板
3
函数模板
定义一个函数模板的形式为:
其中<模板参数表>中的模板参数的形式为class <类型参数>,这里关键字class与一般所讲的类无关,而是与<类型参数>一起说明这是一个内部类型或用户自己定义的数据类型。
在使用模板函数时,模板中的类型参数可用一个实际类型替换,从而达到了类型通用的目的。
当类型参数的含义确定后,编译器将以函数模板为样板,生成一个函数。
4
[例12-1]定义求两个数据最大值的函数模板
#include <iostream>
#include <string>
using namespace std;
template <class T>
T Max(T a, T b)
{
return a>b?a:b;
}
5
int main()
{ int i1 = 3, i2 = 5;
double d1 = , d2 = ;
string str1("xjtu"), str2("xian");
cout << "Type int: " << Max(i1, i2) << endl;
cout << "Type double: " << Max(d1, d2) << endl;
cout << "Type string: " << Max(str1, str2) << endl;
return 0;
}
6
函数模板的几点注意事项
(1)在函数模板的参数表中,至少有一个参数的类型为模板的类型参数。另外,函数的返回值的类型也可以是该类型参数。
(2)模板中可以带有多个参数类型。例如:
template <class T1, class T2, class T3>
void func1(T1 arg1,T2 arg2, T3 arg3)
{

}
7
(3)函数可以带有模板参数表中未给出的、已存在的数据类型的参数。例如:
template <class T>
T func2(T arg1,int arg2)
{

}
8
类模板
类是对问题空间的抽象,而类模板则是对类的抽象,即更高层次上的抽象。与函数模板相似,程序中可以通过高度抽象首先定义一个类模板,然后通过使用不同的实参生成不同的类。
类模板的定义方法为:
template <class <类型参数>>
class <类名>
{
……
};
9

第12章 模板与异常处理 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数33
  • 收藏数0 收藏
  • 顶次数0
  • 上传人中国课件站
  • 文件大小0 KB
  • 时间2011-10-11
最近更新