C 函式過載

2021-09-28 19:22:06 字數 1151 閱讀 5785

實際情況中,總會有這樣的情況出現:幾個函式實現的功能基本類似,但是在細節上有些許差距。

例如:交換兩個數字的值(數值型別包括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,僅僅返回值不同是不能作為函式過載,這屬於函式重定義 形參表包括 引數的型別 ...