mysql 函式過載 C 方法過載(函式過載)

2021-10-22 03:07:39 字數 2176 閱讀 7082

在講解《c#構造方法》時提到定義構造方法時提到可以定義帶 0 到多個引數的構造方法,但構造方法的名稱必須是類名。實際上,這就是乙個典型的方法過載,即方法名稱相同、引數列表不同。

引數列表不同主要體現在引數個數或引數的資料型別不同。在呼叫過載的方法時系統是根據所傳 遞引數的不同判斷呼叫的是哪個方法。

【例項 1】建立乙個名為 sumutils 的類,在類中分別定義計算兩個整數、兩個小數、 兩個字串型別的和,以及從 1 到給定整數的和。在 main 方法中分別呼叫定義好的方法。

根據題目要求,分別定義 3 個帶兩個引數的方法,以及乙個帶乙個整型引數的方法,**如下。

class sumutils

public int sum(int a,int b)

return a + b;

public double sum(double a,double b)

return a + b;

public string sum(string a,string b)

return a + b;

public int sum(int a)

int sum = 0;

for(int i = 1; i < a; i++)

sum += i;

return sum;

從上面的程式可以看出在該類中定義的方法名稱都是 sum,僅是引數的型別或個數不同而已。在 main 方法中呼叫上述定義的方法,**如下。

class program

static void main(string args)

sumutils s = new sumutils();

//呼叫兩個整數求和的方法

console.writeline("兩個整數的和為:" + s.sum(3, 5));

//呼叫兩個小數求和的方法

console.writeline("兩個小數的和為:" + s.sum(3.2, 5.6));

//呼叫兩個字串連線的方法

console.writeline("連個字串的連線結果為:" + s.sum("c#", "方法過載"));

//輸出 1 到 10 的和

console.writeline("1 到 10 的和為:" + s.sum(10));

在呼叫 sum 時只是傳遞的引數不同,系統會自動識別引數來呼叫正確的方法。

執行上面的**,效果如下圖所示。

在該例項中演示的是一般方法的過載,構造方法也是可以過載的,在乙個類中能定義 多個構造方法,以方便根據不同的需要完成不同的類成員初始化操作。

【例項 2】定義乙個 sayhello 的類,在類中分別定義 3 個構造方法,乙個是不帶引數 的構造方法,用於列印「hello」; 乙個是帶乙個引數的構造方法傳遞乙個使用者名稱,用於打 印「hello army」(army 為傳入的使用者名稱);乙個是帶兩個引數的構造方法傳遞乙個使用者名稱 和年齡,用於列印「hello army,20」(army 為傳入的使用者名稱、20 為傳入的年齡)。在 main 方法中使用不同的構造器建立 sayhello 類的物件。

根據題目要求,**如下。

class sayhello

public sayhello()

console.writeline("hello");

public sayhello(string name)

console.writeline("hello " + name);

public sayhello(string name, int age)

console.writeline("hello " + name + "," + age);

在 main 方法中分別通過上面定義的構造器建立類的物件,**如下。

class program

static void main(string args)

sayhello say1 = new sayhello();

sayhello say2 = new sayhello("小明");

sayhello say3 = new sayhello("張三", 20);

執行上面的**,效果如下圖所示。

過載operator new delete函式

可以過載global的operator new delete 函式,細節如下 mynewdelete.h 1 pragma once 2 include 3 include 4 include 5 using namespace std 67 class foo8 14 foo int i id i...

oracle 函式 實現過載 C 函式過載

一 函式過載的概念 在實際開發中,有時候我們需要實現幾個功能類似的函式,例如把變數的值寫入檔案,變數的型別可能是int long double char,通過引數把變數傳入函式。在c語言中不允許函式同名,程式設計師只能設計出四個不同名的函式,其函式宣告如下 bool writetofile int ...

CListCtrl, 過載DrawItem函式

定義你自己的類,繼承clistctrl 類,然後過載drawitem 函式,並保證在屬性中有lvs ownerdrawfixed 風格.exp clistctrlext m listctrl m listctrl.modifystyle 0,lvs ownerdrawfixed,0 void cli...