15_函數重載

1、函數重載的概述

函數重載:同一個函數名在不同場景下可以具有不同的含義

重載的意義:C++允許功能相近的函數在相同的作用域內以相同的函數名定義,從而形成重載,方便使用。

函數重載的條件: 同一個作用域 參數個數不同 參數類型不同 參數順序不同(重要)

void myFunc(int a)
{
    cout<<"int的myFunc"<<endl;
}
void myFunc(int a,int b)
{
    cout<<"int,int 的myFunc"<<endl;
}
void myFunc(int a,double b)
{
    cout<<"int , double的myFunc"<<endl;
}
void myFunc(double a,int b)
{
    cout<<"double,int的myFunc"<<endl;
}

void test06()
{
    myFunc(10);//int
    myFunc(10,20);//int int
    myFunc(10,20.2);//int double
    myFunc(10.1,20);//double int

}

2、注意:

1、函數的返回值類型 不能作爲 函數重載的依據。

2、函數重載和默認參數一起使用,需要額外注意二義性問題的產生

void myFunc02(int a)
{
    cout<<"int的myFunc02"<<endl;
}
void myFunc02(int a,int b=10)//默認參數
{
    cout<<"int,int 的myFunc02"<<endl;
}
void test07()
{
    //myFunc02(int a) 和 myFunc02(int a,int b=10)都能識別
    myFunc02(10);//二義性產生
}

3、函數重載的原理(瞭解)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章