C 學習(五) 函式(二)

2021-10-03 06:12:49 字數 1325 閱讀 7271

#include

using

namespace std;

// 函式過載

// 滿足函式過載條件

// 1、作用域必須相同

// /*class teacher

; 成員函式,不能作為過載的條件

};*/

// 2、函式名稱要相同

// 3、函式引數型別不同或者個數不同或著順序不同

voidf(

)voidf(

int a)

voidf(

double a)

/*int f(double a)

*/// 函式返回值是否能作為函式過載的條件?返回值不可以作為函式過載的條件,原因會出現二義性

// 引用的過載版本

// 對於引用而言,加const 和不加 const 也可以作為過載的條件

voidf1(

int a)

voidf1(

int&a)

// int &a = 10;

voidf1(

const

int&a)

// const int &a = 10;

// 函式過載遇到函式的預設引數

voidf3(

int a,

int b =10)

voidf3(

int a)

void

test01()

void

test02()

void

test03()

intmain()

編譯器在底層會將函式名做二次修飾方便內部訪問函式體

extern c

在c++下可以執行c語言檔案

#include

using

namespace std;

#include

"test.h"

// extern "c" void show(); // 告訴編譯器,不要用c++的方式去鏈結,要用c語言的方式鏈結

void

test01()

intmain()

test.c

#pragma once

#ifdef __cplusplus

extern

"c"#endif

// __cplusplus

test.c

#include

"test.h"

void

show()

C語言學習 五 函式

1 函式由返回值,函式名,引數,作用域 組成 2 返回值 1 無返回值時,必須用void修飾 2 有返回值時,用返回資料型別修飾,並且函式內部有return return返回引數,並結束函式 return引數可以使常量,變數,表示式 注意型別匹配 3 函式名 1 命名規則和變數相同 4 引數 1 形...

C 學習筆記二函式 函式過載

函式 都以static 開頭namespace 可變引數的函式 string country china vfunc names vfunc country sayhello tom 張大虎 狗剩 console.readkey static void vfunc params string val...

C 學習筆記(五)

今天來學習一下overload 過載 它和override 重寫是有區別的。通常,自然語言中同乙個詞可以代表多種不同的含義,具體含義要依賴上下文來確定。這就是所謂的一次多義 該詞被過載 overload 了。在c 中,還有另外乙個因素會使函式名過載 建構函式。因為建構函式的名字預先由類的名字確定,所...