函数的进阶应用

函数的进阶应用

ID:43946566

大小:349.50 KB

页数:47页

时间:2019-10-17

函数的进阶应用_第1页
函数的进阶应用_第2页
函数的进阶应用_第3页
函数的进阶应用_第4页
函数的进阶应用_第5页
资源描述:

《函数的进阶应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、函數的進階應用戰勢不過奇正,奇正之變,不可勝窮也。 奇正相生,如循環之無端,孰能窮之哉!《孫子兵法﹒勢篇》介紹函數的重載、參數的預設值、樣版函數,等等讓C++的函數在使用上更方便的語法。此外,也討論了幾個非常實用的問題,包括如何取得亂數、遞迴函數的設計以及排序與搜尋的相關演算法。101/47Chap10函數的進階應用10.1函數的重載10.2參數的預設值10.3樣版函數10.4亂數的取得10.5遞迴函數10.6排序與搜尋2函數的重載intMax(int,int);doubleMax(double,do

2、uble);//參數的資料型態不同doubleArea(doublex);doubleArea(doublex,doubley);//參數的數目不一樣3範例程式Overload.cpp:函數的重載//Overload.cpp#includeusingnamespacestd;//函數的原型doubleMax(double,double);doubleMax(double,double,double);//參數的數目不一樣4//-------主程式------------------

3、---------------intmain(){doublea=5.0,b=6.0,c=7.0;cout<<"Max(a,b)的值是:"<=y)?x:y;}doubleMax(doublex,doubley,doublez){

4、doubleTemp=x;if(x

5、7範例程式Default.cpp:預設引數//Default.cpp#includeusingnamespacestd;//---宣告函數Area()--------------------doubleArea(doubleWidth,doubleLength=12.0);//---主程式----------------------------intmain(){doubleA;A=Area(6.5);//只用一個參數呼叫return0;}//---定義函數Area()------

6、--------------doubleArea(doubleWidth,doubleLength){returnWidth*Length;}8預設引數函數的呼叫voidFune(float,floatx=0,intn=5,char="r");下面的呼叫都是正確的:Func(1.5);Func(3.2,1.0);Func(0.0,1.0,10,'a');不可以有下列的呼叫方式:Func(1.0,2.0,'a');//錯誤!9具有預設參數的重載函數兩個具有預設參數的重載函數Func()之原型:intFu

7、nc(intn,intm=0,floatx=1.0);intFunc(intn,intm);這兩個函數無法以下列呼叫敘述正確區分:M=Func(2,3);//錯誤!10樣版函數(FunctionTemplate)templateTSum(Tx,Ty){returnx+y;}相當於同時宣告了許多名稱都叫做Sum()的函數,但其輸入和輸出的資料型態未定。樣版函數內可以使用不只一種暫定的資料型態:templateT1Func(T1x,T2y,

8、T3z){//…函數內容}11樣版函數可以用來取代函數的重載templateTAbs(Tx){return(x>0)?x:-x;}相當於同時定義了三個函數:intAbs(intx){return(x>0)?x:-x;}floatAbs(floatx){return(x>0)?x:-x;}doubleAbs(doublex){return(x>0)?x:-x;}12準亂數產生器(pseudo-randomnumbergenerator)要得

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。