函式的過載 委託型別的定義

2021-08-08 09:44:22 字數 1110 閱讀 6972

在類下面定義兩個相同的函式,分別修改兩個函式的返回型別和引數型別,這是函式過載的方法。

static

int maxvalue(params int array)

}return max;

}static

double maxvalue(params double array)

}return max;

}

從**段中可以看出,兩個函式除了返回型別和引數型別之外,就連函式名都是完全一樣的,那函式過載有什麼用處呢?當兩個函式功能完全相同的時候,如果再去定義乙個名字不同的函式,會使得類空間下有許多的函式,維護起來會很麻煩,所以函式的過載是有必要的。

函式過載之後,系統會根據呼叫函式時傳入的實參的型別,去挑選該使用哪個函式。

static

void main(string args)

可以看出,第一條語句傳入的是int型別的資料,第二條傳入的是double型別的資料,但是呼叫都是同乙個函式,不需要再去宣告該呼叫哪個函式,編譯器會自動幫助我們識別。

定義乙個委託和定義乙個函式差不多,區別在於:

1.定義委託需要delegate關鍵字

2.委託的定義不需要函式體

定義委託:

public delegate double mydelegate(double param1, double param2);

定義委託並且使用的乙個例子:

namespace ***

static

double divide(double param1,double param2)

static

void main(string args)

}}

從**裡可以看出,想要使用委託,就先要在命名空間下定義委託,然後在主函式內宣告變數,再將函式賦值給委託的變數,但是返回值必須和引數列表一樣,否則無法賦值。

委託的作用

將函式賦值給委託的變數,當想要呼叫該函式的時候,可以通過這個變數來呼叫這個函式,委託在這過程中充當了中間人的作用,好處是降低程式之間的耦合度,使函式與函式之間沒有太大關聯。

C 函式委託型別

rel file list href file c 5cdocume 7e1 5cadmini 7e1 5clocals 7e1 5ctemp 5cmsohtml1 5c04 5cclip filelist.xml c 函式委託型別 rel file list href file c 5cdocum...

函式的過載定義及應用

函式過載 函式名相同,引數列表不同。注意 過載函式的引數個數,引數型別或引數順序三者中必須至少有一種不同,函式返回值型別可以相同,也可以不同。例 分別考慮整數 雙精度數 長整數求3 個數中的最大數。程式 include using namespace std int main int max int...

建構函式的定義和建構函式的過載

建構函式 處理物件的初始化,是一種特殊的成員函式,與其他函式不同,不需要使用者來呼叫它,在建立物件時自動執行。注意 1 每建立乙個物件,就呼叫一次建構函式 2 建構函式沒有返回值,因此也沒有型別,作用只是對物件進行初始化 3 建構函式不需要被使用者呼叫,也不能被使用者呼叫。建構函式的過載 建構函式具...