函式過載:c++中函式名可相同,可有多個函式名相同的函式存在(過載:名字相同意義不同)
本質:c++編譯器根據型別來修飾函式
條件:1、同一作用域
2、引數個數、型別、順序不同
注意:1、返回值型別不能作為過載條件
2、預設引數可存在二義性,存在二義性時報錯,要避免其他二義性行為
# include
using namespace stu;
namespace a{ //不在同一作用域不可過載
void fun(int a){
void fun(int a){
void fun(int a,int b){ //不同引數個數可過載
void fun(double a){ //型別不同可過載
void fun(int a,double b){ //順序不同可過載
void fun(double a,int b){
void fun(int a,int b=1){ //呼叫時報錯 與fun(int a,int b)發生二義性
C 對C的函式拓展
一,內聯函式 1.內聯函式的概念 c 中的const常量可以用來代替巨集常數的定義,例如 用const int a 10來替換 define a 10。那麼c 中是否有什麼解決方案來替代巨集 片段呢?c 中推薦使用內聯函式代替巨集 片段,c 中使用inline關鍵字宣告內聯函式。注意 內聯函式宣告時...
C 對C的拓展
目錄 一 bool型別關鍵字 二 引用 三 輸入輸出 四 函式引數 五 string類 六 左值 c 在c語言的基礎型別上新增了布林型別 bool bool可取的值有兩個 true false,占用乙個位元組。true代表真值,編譯器內部用1來表示 false代表非真值,編譯器內部用0來表示。inc...
C 對C的函式拓展 預設引數
1 c 中可以在函式宣告時為引數提供乙個預設值,當函式呼叫時沒有指定這個引數的值,編譯器會自動用預設值代替 void myprint int x 3 2函式預設引數的規則 只有引數列表後面部分的引數才可以提供預設引數值 一旦在乙個函式呼叫中開始使用預設引數值,那麼這個引數後的所有引數都必須使用預設引...