函式與過載的學習

2021-07-11 04:10:37 字數 1351 閱讀 1436

int round(double number)

int getround()

第一種,是常見的:

int add(int x,int y);
第二中:(僅限於宣告函式時,定義是必須給出形參)

int add(int,int);
僅僅傳遞了實參的值。實際上是乙個區域性變數,呼叫函式時,首先計算出,實參的值然後該值成為傳值慘數(實際上就是乙個區域性變數)的初始值。不能通過呼叫函式改變實參的值。

int add(int x,int y);
引用本身就是變數的別名。函式呼叫時使用引用傳遞,是用實參變數(不是值)來代替形參。實參變數直接被帶入函式,這樣就可以通過改變引數變數改變實參的值。

定義函式式,在形參變數名前加「&」。

int add(int &x,int &y);

c++允許兩個函式具有相同的函式名,這就叫做函式的過載。(但是這些函式的定義必須具有不同的引數數目,或者不同的引數型別

關於根據const和非const特性進行過載的情況,一些編譯器支援,但是c++標準是不予許這種做法的。

舉例:

int add(int x,int y);//兩個int值相加是呼叫這個函式

int add(int x,int y,int z);//三個int值相加是呼叫這個函式

有一點要注意,盡量不要讓兩個毫無關係的函式使用同乙個函式名,這樣容易造成混淆。

assertion(斷言)是乙個或者為true或者為false的語句。assertion同來檢驗程式的正確性。

原型定義:

#include  

void

assert( int expression );

assert的作用是現計算表示式 expression ,如果其值為假(即為0),那麼它先向stderr列印一條出錯資訊,

然後通過呼叫 abort 來終止程式執行。

舉例:

#include 

#include

#include

int main( void )

可以使用

#define ndegug
來禁用assert巨集。

JAVASE 學習筆記 函式與過載

定義格式 修飾符 返回值型別 函式名 形式引數列表 修飾符 public static 返回值型別 返回值型別就是指功能 被呼叫完畢之後返回的結果資料型別。如果沒有返回值結果則使用void表示 函式名 首單詞全部小寫,其他單詞首字母大寫,其他單詞小寫 形式引數 定義乙個功能的時候,如果目前有引數是不...

C 學習 函式過載與匹配

在c 中,函式過載一直是乙個常用且重要的東西,但其中也是有很多坑。實際上,在g 處理函式過載的時候,假設有下面兩個函式 void fun int a,int b void fun int a,char b 很明顯這是兩個過載的函式,c 利用一種叫name mangling的技術,經過編譯器處理後,實...

函式過載與預設函式

int add int a,int b float add float a,float b 函式名過載 函式名相同,但是,函式的引數 形參 絕不相同 1.引數個數不同 2.或引數個數相同,但是引數的型別不同 只有返回型別不同,不能構成函式過載 只有形參變數名不同,不能構成函式過載.注意 c語言不支援...