深刻進修C++中的函數概念。本站提示廣大學習愛好者:(深刻進修C++中的函數概念)文章只能為提供參考,不一定能成為您想要的結果。以下是深刻進修C++中的函數概念正文
一個較年夜的法式弗成能完整由一小我從頭到尾地完成,更弗成能把一切的內容都放在一個主函數中。為了便於計劃、組織、編程和調試,普通的做法是把一個年夜的法式劃分為若干個法式模塊(即法式文件),每個模塊完成一部門功效。分歧的法式模塊可以由分歧的人來完成。在法式停止編譯時,以法式模塊為編譯單元,即分離對每個編譯單元停止編譯。假如發明毛病,可以在本法式模塊規模外調錯並糾正。在分離經由過程編譯後,才停止銜接,把各模塊的目的文件和體系文件銜接在一路構成可履行文件。
在一個法式文件中可以包括若干個函數。不管把一個法式劃分為若干個法式模塊,只能有一個main函數。法式老是從main函數開端履行的。在法式運轉進程中,由主函數挪用其他函數,其他函數也能夠相互挪用。在C說話中沒有類和對象,在法式模塊中直接界說函數。可以以為,一個C法式是由若干個函數構成的,C說話被以為是面向函數的說話。C++面向進程的法式設計沿用了C說話應用函數的辦法。在C++面向對象的法式設計中,主函數之外的函數年夜多是被封裝在類中的。主函數或其他函數可以經由過程類對象挪用類中的函數。不管是C照樣C++,法式中的各項操作根本上都是由函數來完成的,法式編寫者要依據須要編寫一個個函數,每一個函數用來完成某一功效。是以,讀者必需控制函數的概念和學會設計和應用函數。
“函數”這個名詞是從英文function翻譯過去的,其實function的原意是“功效”。望文生義,一個函數就是一個功效。
在現實運用的法式中,主函數寫得很簡略,它的感化就是挪用各個函數,法式各部門的功效全體都是由各函數完成的。主函數相當於總調劑,調動各函數順次完成各項功效。
開辟商和軟件開辟人員將一些經常使用的功效模塊編寫成函數,放在函數庫中供公共選用。法式開辟人員要擅長應用庫函數,以削減反復編寫法式段的任務量。
【例】在主函數中挪用其他函數。
#include <iostream> using namespace std; void printstar(void) //界說printstar函數 { cout<<″****************************** ″<<endl; //輸入30個“*” } void print_message(void) //界說print_message函數 { cout<<″Welcome to C++!″<<endl; //輸入一行文字 } int main(void) { printstar( ); //挪用printstar 函數 print_message( ); //挪用print_message函數 printstar( ); //挪用printstar 函數 return 0; }
運轉情形以下:
****************************** Welcome to C++! ******************************
從用戶應用的角度看,函數有兩種:
體系函數,即庫函數。這是由編譯體系供給的,用戶不用本身界說這些函數,可以直接應用它們。
用戶本身界說的函數。用以處理用戶的專門須要。
從函數的情勢看,函數分兩類:
無參函數。挪用函數時不用給出參數。
有參函數。在挪用函數時,要給出參數。在主調函數和被挪用函數之間稀有據傳遞。
函數的界說和挪用
界說無參函數的普通情勢為:
類型標識符 函數名([void])
{ 聲明部門 語句 }
用類型標識符指定函數的類型,即函數帶回來的值的類型。
界說有參函數的普通情勢為:
類型標識符 函數名(情勢參數表列) { 聲明部門 語句 }
例如:
int max(int x,int y) //函數首部,函數值為整型,有兩個整型形參 { int z; //函數體中的聲明部門 z=x>y?x:y; //將x和y中的年夜者的值賦給整型變量z return (z);//將z的值作為函數值前往挪用點 }
留意:C++請求在界說函數時必需指定函數的類型。