第3章 函数和函数模板.docx

上传人:b****5 文档编号:6878703 上传时间:2023-01-12 格式:DOCX 页数:13 大小:92.08KB
下载 相关 举报
第3章 函数和函数模板.docx_第1页
第1页 / 共13页
第3章 函数和函数模板.docx_第2页
第2页 / 共13页
第3章 函数和函数模板.docx_第3页
第3页 / 共13页
第3章 函数和函数模板.docx_第4页
第4页 / 共13页
第3章 函数和函数模板.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

第3章 函数和函数模板.docx

《第3章 函数和函数模板.docx》由会员分享,可在线阅读,更多相关《第3章 函数和函数模板.docx(13页珍藏版)》请在冰豆网上搜索。

第3章 函数和函数模板.docx

第3章函数和函数模板

例3.1

#include

#include

usingnamespacestd;

voidswap(string,string);

voidmain()

{

stringstr1("现在"),str2("过去");

swap(str1,str2);

cout<<"返回后:

str1="<

}

voidswap(strings1,strings2)

{

stringtemp=s1;s1=s2;s2=temp;

cout<<"交换为:

str1="<

}

例3.2

#include

#include

usingnamespacestd;

voidswap(string*,string*);

voidmain()

{

stringstr1("现在"),str2("过去");

swap(&str1,&str2);

cout<<"返回后:

str1="<

}

voidswap(string*s1,string*s2)

{

stringtemp=*s1;*s1=*s2;*s2=temp;

cout<<"交换为:

str1="<<*s1<<"str2="<<*s2<

}

例3.3

#include

usingnamespacestd;

voidswap(int[]);

voidmain()

{

inta[]={3,8};

swap(a);

cout<<"返回后:

a="<

}

voidswap(inta[])

{

inttemp=a[0];a[0]=a[1];a[1]=temp;

cout<<"交换为:

a="<

}

例3.4

#include

#include

usingnamespacestd;

voidswap(string&,string&);

voidmain()

{

stringstr1("现在"),str2("过去");

swap(str1,str2);

cout<<"返回后:

str1="<

}

voidswap(string&s1,string&s2)

{

stringtemp=s1;s1=s2;s2=temp;

cout<<"交换为:

str1="<

}

例3.5

#include

usingnamespacestd;

typedefdoublearray[12];

voidavecount(array&b,intn)

{

doubleave(0);

intcount(0);

for(intj=0;j

{

ave=ave+b[j];

if(b[j]<60)count++;

}

b[n-2]=ave/(n-2);

b[n-1]=count;

}

voidmain()

{

arrayb={12,34,56,78,90,98,76,85,64,43};

array&a=b;

avecount(a,12);

cout<<"平均成绩为"<

"<

}

例3.6

#include

#include

usingnamespacestd;

voidDisplay(strings1,strings2="",strings3="");

voidmain()

{

stringstr1("现在"),str2("过去"),str3("将来");

Display(str1);

Display(str1,str2,str3);

Display(str3,str1);

Display(str2,str3);

}

voidDisplay(strings1,strings2,strings3)

{

if(s2==""&&s3=="")cout<

elseif(s3==""&&s2!

="")cout<

elsecout<

}

例3.7

#include

#include

usingnamespacestd;

voidchange(conststring&);

voidmain()

{

stringstr("Canyouchangeit?

");

change(str);

cout<

}

voidchange(conststring&s)

{

strings2=s+"No!

";

cout<

}

例3.8

#include

usingnamespacestd;

inta[]={2,4,6,8,10,12};

int&index(inti);

voidmain()

{

index(3)=16;

cout<

}

int&index(inti)

{returna[i];}

例3.9

#include

usingnamespacestd;

float*input(int&);

voidmain()

{

intnum;

float*data;

data=input(num);

if(data)

{

for(inti=0;i

cout<

deletedata;

}

}

float*input(int&n)

{

cout<<"Inputnumber:

";

cin>>n;

if(n<=0)returnNULL;

float*buf=newfloat[n];

if(buf==0)returnNULL;

for(inti=0;i

cin>>buf[i];

returnbuf;

}

例3.10

#include

#include

usingnamespacestd;

stringinput(constint);

voidmain()

{

intn;

cout<<"Inputn=";

cin>>n;

stringstr=input(n);

cout<

}

stringinput(constintn)

{

strings1,s2;

for(inti=0;i

{cin>>s1;s2=s2+s1+"";}

returns2;

}

例3.11

#include

usingnamespacestd;

intmax(int,int);

voidmain()

{cout<

intmax(intm1,intm2)

{return(m1>m2)?

m1:

m2;}

3.12

#include

usingnamespacestd;

doublemax(double,double);

intmax(int,int);

charmax(char,char);

intmax(int,int,int);

voidmain()

{

cout<

cout<<"max(5,9,4)="<

}

doublemax(doublem1,doublem2){return(m1>m2)?

m1:

m2;}

intmax(intm1,intm2){return(m1>m2)?

m1:

m2;}

charmax(charm1,charm2){return(m1>m2)?

m1:

m2;}

intmax(intm1,intm2,intm3)

{

intt=max(m1,m2);

returnmax(t,m3);

}

3.13

#include

usingnamespacestd;

intadd(intm1=0,intm2=0,intm3=0,intm4=0)

{returnm1+m2+m3+m4;}

voidmain()

{

cout<

}

3.14

#include

usingnamespacestd;

template

Tmax(Tm1,Tm2)

{return(m1>m2)?

m1:

m2;}

voidmain()

{

cout<

<

}

3.15

#include

#include

#include

usingnamespacestd;

voidprinter(complex);

voidprinter(complex);

voidmain()

{

inti(0);

complexnum1(2,3);

complexnum2(3.5,4.5);

printer(num1);

printer(num2);

}

voidprinter(complexa)

{

stringstr1("realis"),str2="imageis";

cout<

}

voidprinter(complexa)

{

stringstr1("realis"),str2="imageis";

cout<

}

3.16

#include

#include

#include

usingnamespacestd;

template

voidprinter(complexa)

{

stringstr1("realis"),str2="imageis";

cout<

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 职业教育 > 职高对口

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1