程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 學習C++函數時相關注意事宜

學習C++函數時相關注意事宜

編輯:C++入門知識

C++中的C++函數是數學中的一種對應關系,是從非空數集A到實數集B的對應,簡單地說,A隨著C變,那麼A就是C的函數,對應法則和定義域是函數領域中的兩個主要要素。

C++函數是與主程序分開的碼段。這些碼段在程序中需要進行特定動作時調用執行)。例如,函數可能取兩個值並對其進行復雜的數學運算。

  1. 1: #include <iostream.h>   
  2.  
  3. 2: #include <conio.h>   
  4.  
  5. 3: #pragma hdrstop   
  6.  
  7. 4:   
  8.  
  9. 5: int multiply(int,int)   
  10.  
  11. 6: void showResult(int);   
  12.  
  13. 7:   
  14.  
  15. 8:int main(int argc,char **argv);   
  16.  
  17. 9:{   
  18.  
  19. 10: int x,y,result;   
  20.  
  21. 11: cout << end1 << "Enter the first value:";   
  22.  
  23. 12: cin >> x;   
  24.  
  25. 13: cout << "Enter the second value: ";   
  26.  
  27. 14: cin >> y;   
  28.  
  29. 15: result=multiply(x,y);   
  30.  
  31. 16: showResult(result);   
  32.  
  33. 17: cout << end1 << end1 << "Press any key to continue...";   
  34.  
  35. 18: getch();   
  36.  
  37. 19: return 0   
  38.  
  39. 20: }   
  40.  
  41. 21:  

然後返回結果,函數可能取一個字串進行分析,然後返回分析字串的一部分。新術語 函數function)是與主程序分開的碼段,進行預定的一個服務。函數是各種編程語言的重要部分,C++也不例外。最簡單的函數不帶參數,返回void表示不返回任何東西),其它函數可能帶一個或幾個參數並可能返回一個值。

函數名規則與變量名相同。圖1.5顯示了函數的構成部分。新術語 參數(parameter)是傳遞給函數的值,用於改變操作或指示操作程度。 函數聲明或原型(prototype)告訴編譯器函數所取的參數個數、每個參數的數據類型和函數返回值的數據類型。

清單1.4列示了這個概念。新術語 原型(prototype)是函數外觀的聲明或其定義的說明。 這個程序的11到14行用標准輸入流cin向用戶取兩個數字,第15行調用multiply()函數將兩個數相乘,第16行調用showResult()函數顯示相乘的結果。

注意主程序前面第5和第6行multiply()和showResult()函數的原型聲明。原型中只列出了返回類型、函數名和函數參數的數據類型。這是函數聲明的最基本要求。函數原型中還可以包含用於建檔函數功能的變量名。

multiply()函數的函數聲明可以寫成如下:int multiply(int firstNumber,int secondNumber);這裡函數multiply()的作用很明顯,但代碼既可通過說明也可通過代碼本身建檔。注意清單1.4中函數multiply()的定義(22到25行)在主函數定義碼段(8到20行)之外。

函數定義中包含實際的C++函數體。這裡的函數體是最基本的,因為函數只是將函數的兩個參數相乘並返回結果。清單1.4中函數multiply()可以用多種方法調用,可以傳遞變量、直接數或其它函數調用的結果:

  • VC++開發環境的模式說明
  • 深度說明C++開源程序歷史
  • 如何正確學習C++應用程序
  • 詳解C++程序設計構成
  • 對C++的設計原則介紹

注意 最後一例中沒有使用返回值。本例中調用函數multiply()而不用返回值沒什麼道理,但C++編程中經常忽略返回值。有許多函數是先進行特定動作再返回一個數值,表示函數調用的狀態。有時返回值與程序無關,可以忽略不計。

如果將返回值忽略,則只是放棄這個值,而不會有別的危害。例如,前面的樣本程序中忽略了getch()函數的返回值返回所按鍵的ASCII值)。函數可以調用其它函數,甚至可以調用自己,這種調用稱為遞歸(recursion)。

這在C++編程中是個較復雜的問題,這裡先不介紹。新術語 遞歸(recursion)就是函數調用自己的過程。本節介紹的函數指的是C或C++程序中的獨立函數獨立函數不是類的成員)。C++中的獨立函數可以和C語言中一樣使用,但C++函數進一步深化,將在稍後介紹C++時介紹。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved