實際情況中,總會有這樣的情況出現:幾個函式實現的功能基本類似,但是在細節上有些許差距。
例如:交換兩個數字的值(數值型別包括double,int等型別),在c語言中我們需要定義幾個不同名的函式來滿足需求。
int swap1();
int swap2(int, int);
int swap3(double, double);
int swap4(int, double);
可以看出這樣寫出來的**很不美觀且影響工作效率,於是c++中提出了用乙個函式名表示多個函式,也就是函式過載
一.函式過載的概念
在同一作用域中,c++支援多個相同名稱的函式存在,只要函式的引數列表不同,這就是函式過載
函式過載的原則:
1.函式名稱必須相同
2.函式引數列表必須有乙個不同(型別,個數,順序)
3.函式返回值可以相同,也可以不同
4.僅函式返回值不同時,不認為是函式過載
namespace funcoverloading
// 過載.cpp : 此檔案包含 "main" 函式。程式執行將在此處開始並結束。
//#include "pch.h"
#include "過載.h"
#include int main()
void funcoverloading::add(int a, int b)
void funcoverloading::add(double a, double b)
void funcoverloading::add(int a)
void funcoverloading::add(int a, double b)
void funcoverloading::add(double a, int b)
二.函式過載的意義
通過使用函式過載,可以使用相同名稱的函式來實現一組相似的功能,減少了函式名的數量,對程式的可讀性也有很大好處。
mysql 函式過載 C 方法過載(函式過載)
在講解 c 構造方法 時提到定義構造方法時提到可以定義帶 0 到多個引數的構造方法,但構造方法的名稱必須是類名。實際上,這就是乙個典型的方法過載,即方法名稱相同 引數列表不同。引數列表不同主要體現在引數個數或引數的資料型別不同。在呼叫過載的方法時系統是根據所傳 遞引數的不同判斷呼叫的是哪個方法。例項...
C 函式 函式過載
如果同一作用域內的幾個函式名字相同但形參列表不同,我們稱之為過載函式。void print const char cp void print const int beg,const int end void print const int ia,size t size 這些函式接受的形參型別不一樣,...
C 函式過載
函式過載 overloaded function 在相同的作用域中的兩個函式,如果有相同的名字而形參表不同 注意 如果僅僅函式的返回值不同是不能實現函式過載 void func int int func int error,僅僅返回值不同是不能作為函式過載,這屬於函式重定義 形參表包括 引數的型別 ...