- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2011年北京大兴区中考一模《化学》试题与答案课件
第三章 函数;嵌套调用;递归调用;;传值调用举例;交换两个数 ; 在值交换函数中,随着函数swap()运行结束返回主函数后, swap()中为局部工作变量申请的内存空间, 包括其参数x、y和局部变量tmp占用的内存单元,都将被释放。函数swap()所做的一切工作都付之东流。;引用调用举例;引用; ——用引用做形参; 在函数swap()执行完毕后,即使释放其局部变量占用的存储也不会影响到主函数中变量x和y的新内容。;#include iostream.h
void swap(int *px,int *py)
{
int tmp;
tmp = *px;
*px = *py;
*py = tmp;
}
void main()
{
int x = 2, y = 3;
swap(x,y);
cout x = x , y = y endl;
};//3_13.cpp
#include iostream
#include iomanip
using namespace std;
void fiddle(int in1, int in2);
void main()
{
int count = 7, index = 12;
cout The values are ;
coutsetw(5)count;
coutsetw(5)indexendl;
fiddle(count, index);
cout The values are ;
coutsetw(5)count;
coutsetw(5)indexendl;
}
void fiddle(int in1, int in2)
{
in1 = in1 + 100;
in2 = in2 + 100;
cout The values are ;
coutsetw(5)in1;
coutsetw(5)in2endl;
}
;控制输出格式 ;设置字符输出宽度函数 setw(n);
#include iostream.h
#include iomanip.h
void main( )
{
int number=1234;
coutsetw(3)numbersetw(10)number*numberendl;
}
程序输出结果是:
;内联函数;函数调用的执行过程;内联函数;例3-14 内联函数应用举例;函数默认形参值;默认形参值的说明次序; 注意:
(1)??函数中有多个默认参数时,则形参分布中,默认参数应从右到左逐渐定义。函数调用时,系统按从左到右的顺序将实参与形参结合,当实参的数目不足时,系统将按同样的顺序用声明或定义中的默认值来补齐所缺少的参数。
;3-15;函数重载;举例;函数重载;在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,即函数重载.这样便提高了函数的易用性,使程序更加简洁。
void birdsleep(…);
?void horsesleep(…);
?void humansleep(…);
上述函数可重载为函数sleep(…)
void sleep(…bird…)
?void sleep(…horse…);
?void sleep(…human…); ;编写绝对值求取函数
;编写绝对值求取函数
#includeiostream.h
int abs(int x){return x0?x:-x;}
float abs(float x){return x0?x:-x;}
void main()
{
int a=3;
float b=-4.5;
coutabs(a)endl;
coutabs(b)endl;
};重载函数的实现;注意:
1.如果仅仅是返回类型不同,而函数名相同、形参表也相同,则是非法的。在编译时会认为是语法错误。
2.虽然是合法的,但不是重载。它只是对同一函数原型的多次声明。 ;重载函数的声明;注意事项;重载函数的特征;模 板;为什么要使用函数模板?;为什么要使用函数模板?
函数重载是指同一函数名对应多种不同的函数实现。如果需要处理不同数据类型的参数,则还需要添加更多的重载函数。如:
int abs(int x){return x0?x:-x;}
float abs(float x){return x0?x:-x;}
int max(int x, int y)
float max(float x,float y)
char max(char x, char y)
显然函数重载有时也显得比较烦琐,解决这个问题就是使用函数模板。 ;函数模板;倪贺宏蓑躬坑技偷唤河普糜摧拆堵颖幕滓厂猿请谓隋伟舍渠亚寅峰泌田唆2011年北京大兴区
文档评论(0)