函數多載

多載 (overloading)

  1. 函數名稱相同,引數個數不同

  2. 引數型態不同,引數個數相同

相似功能的函數,以相同的名稱來命名之;透過不同的引數個數,或是不同的型態, 來執行相對應的功能。

一、引數型態不同,引數個數相同

首先在主程式分別宣告不同資料型態的變數a、b、c、d

int a=2, b[]={1,2,3};
		float c=3;
		double d=3.14;

建立四個相同名稱的函數 show,引數個數同為一個,而型態不同

public static void show(int i)
public static void show(int arr[])
public static void show(float i)
public static void show(double i)

因此當在主程式呼叫函數時,將會執行相對應之型態的函數; 舉例來說:

show(a) ; a 為整數型態 int ,因此將會對應到引數為整數型態的函數

public static void show(int i)

show(b) ; b為整數型態的陣列,因此對應到引數為陣列整數型態的函數

完整程式碼:

二、函數名稱相同,引數個數不同

這次在主程式直接呼叫函數,並設值。

在函數的部分,擁有相同名稱卻有不同個數的引數:

透過引數個數的不同,對應到應該呼叫的函數

完整程式碼:

Last updated

Was this helpful?