美容整形医院哪个更好:“模板”学习笔记(2)
来源:百度文库 编辑:偶看新闻 时间:2024/05/03 09:23:33
=================如何对模板进行重载====================
我们在运用一个函数模板的时候,很可能会增加这个函数的功能。比如说原先我们有一个交换函数:
void
Swap(ElementType,ElementType);
它的功能就是对两个数进行交换。但是现在如果我们想对两个数组中的每一个数进行交换,那么就需要重载这个Swap函数,并且给它添加一个新的变量:int n。这个函数的作用就是循环数组中的每个元素,那么这个重载的Swap()函数就应该用如下方式进行声明:
void
Swap(ElementType a[],ElementType b[],
int
n);
这样一来,women就对原有的Swap()函数进行了重载,即功能上的升级。下面是这个程序的例子:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263#include
using
namespace
std;
const
int
num=5;
//Swap函数的第一个版本
template
<
class
ElementType>
void
Swap(ElementType a,ElementType b)
{
ElementType temp;
cout<<
"交换前,元素a和元素b的值为:"
<
cout<<
"a="
<"\tb="
<
cout<<
"调用Swap(ElementType,ElementType)函数:"
<
temp=b;
b=a;
a=temp;
cout<<
"a="
<"\tb="
<}
//Swap函数的第二个版本
template
<
class
ElementType>
void
Swap(ElementType a[],ElementType b[],
int
n)
{
ElementType temp;
cout<<
"交换前,数组a[]和数组b[]的值为:"
<
for
(
int
i=0;i
{
cout<<
"a["
<"]为:"
<" "
;
}
cout<
for
(
int
i=0;i
{
cout<<
"b["
<"]为:"
<" "
;
}
cout<
cout<<
"调用Swap(ElementType,ElementType,int)函数:"
<
for
(
int
i=0;i
{
temp=b[i];
b[i]=a[i];
a[i]=temp;
}
for
(
int
i=0;i
{
cout<<
"a["
<"]为:"
<" "
;
}
cout<
for
(
int
i=0;i
{
cout<<
"b["
<"]为:"
<" "
;
}
cout<}
int
main()
{
int
x=1,y=2;
Swap(x,y);
int
num1[num]={1,2,3,4,5};
int
num2[num]={6,7,8,9,10};
Swap(num1,num2,num);
return
0;
}
注意,在这个程序的第5行和18行我们都定义了一个模板类型ElementType。它用在紧接其后的模板函数的定义。这个程序主要完成额功能就是对两个数进行交换,同时对两个数组进行交换。下面就是这个程序的运行结果:
通过这个程序的运行结果,我们可以清楚的看到,利用模板重载这个概念,我们可以升级原有的函数,使之达到功能升级的地步~~
如何做学习笔记
司法鉴定学习笔记范文
学习型班组学习笔记
Internet IntraWeb开发学习笔记(三)b.htm
查找先进性教育的学习笔记
牛津9A学习笔记
PRO-E的学习笔记
怎么写团章学习笔记?
求一学习笔记软件
哪里有英语学习笔记?
PRO-E的学习笔记
高中怎样做学习笔记
求中级物流师的学习笔记
有机化学学习笔记 这本书有吗?
周笔畅(笔记)歌词
怎么做学习笔记?(最好可以说下什么符号表示什么意思,比如说横线,波浪线什么的)
有学习好笔记写得好的重点高中学生我要买高二高三的英语课堂笔记
党员开展先进性教育的学习笔记及心得的网址
哪里有PowerPoint格式的学习笔记下载?
用于学习笔记/反思日记的管理有那些?
生物复习笔记(初2)
(笔记)的原唱是谁?
2、Word默认的模板名为( )。(1分)
求学习“用PS制作网站模板”的好网站