c 中兩個函式函式名相同,引數型別和引數個數也相同,但是函式型別不同,那它們是過載函式嗎

時間 2021-08-30 10:38:27

1樓:匿名使用者

函式過載只看引數個數和型別 所以如果只是返回值相同的函式就不是過載函式了

2樓:莊政警

這樣不是過載。

函式過載要求函式的引數個數不同或者引數型別不同。

因為呼叫函式的時候無法確認函式的返回型別,所以僅返回型別不同的函式都可以匹配,這樣就造成二義性,所以僅僅是返回型別不同是不能過載的,

比如有int f(int a)

float f(int a)

int main()

3樓:匿名使用者

函式過載是是根據函式的引數列表區分函式的版本,返回值不同是不能區分的。

比如 int fun( int a,int b);

在編譯的時候,編譯器編譯函式,生成一個類似"_fun_int_int"的名稱放在庫中,以便程式呼叫的時候使用。

如果你想過載void fun( int a,int b);

生成的函式名稱也是"_fun_int_int"

函式在庫中的名稱是唯一的,就像你在程式中定義變數一樣。

這就算是重定義吧(姑且這麼說),這時編譯器該呼叫哪個函式?

4樓:

不是過載函式,編譯器應該會報錯。

c++中兩個函式函式名相同,引數型別和引數個數也相同,但是函式型別不同,那它們是過載函式嗎?

5樓:莊政警

這樣bai

不是過載。

函式過載要求du函式的參zhi數個數不同或者dao引數型別不同。專因為呼叫函式的時候無屬法確認函式的返回型別,所以僅返回型別不同的函式都可以匹配,這樣就造成二義性,所以僅僅是返回型別不同是不能過載的,

比如有int f(int a)

float f(int a)

int main()

c++多重繼承,我這裡幾個函式名相同的函式,引數個數不同為什麼同名覆蓋而不是過載?

6樓:匿名使用者

函式過載是

copy是根據函式的引數列表區分函式的版本,返回值不同是不能區分的。

比如 int fun( int a,int b);

在編譯的時候,編譯器編譯函式,生成一個類似"_fun_int_int"的名稱放在庫中,以便程式呼叫的時候使用。

如果你想過載void fun( int a,int b);

生成的函式名稱也是"_fun_int_int"

函式在庫中的名稱是唯一的,就像你在程式中定義變數一樣。

這就算是重定義吧(姑且這麼說),這時編譯器該呼叫哪個函式?

c++派生類中允許有相同名字相同引數的函式嗎

7樓:匿名使用者

允許啊,這樣不就是 oop 的多型性麼

在c中建構函式名和類名相同那怎麼判斷new例項化

樓主說的方式有點問題 new 一個物件的時候,就是通過呼叫構造方法來實現的。不能說呼叫的是類還是構造方法。建構函式可以通過引數的數量 資料型別,可以進行過載。 建構函式一定要跟類名相同,不然會報錯,你用new的時候,就是使用建構函式。 很奇怪你為什麼會有這樣的問題,例項化必然使用new這樣的語法,編...

c 函式中return a,b 可以返回兩個值嗎

不可以 a,b 是一個逗號表示式,逗號表示式總是返回最右面的值,所以這個表示式的值是b,即return a,b 等價於 a return b 不可以。逗好運算子的值是最後一個,即你只是返回了b.要想返回兩個數你可以專門定義一個結構體,再返回。c stl就是這樣乾的。 雙槍老椰子 c系列語言是不能的,...

excel兩個函式相除,在excel中,兩個數相除的函式是什麼?

if sumproduct 彙總表 w w a 彙總表 ah ah aaa sumproduct 彙總表 w w a 彙總表 af af b 彙總表 ah ah aaa sumproduct 彙總表 w w a 彙總表 ah ah aaa 或 if countifs 彙總表 w w,a 彙總表 ah...