程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 深刻進修C++中的函數概念

深刻進修C++中的函數概念

編輯:關於C++

深刻進修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++請求在界說函數時必需指定函數的類型。

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