函数重载--函数多态
重载函数的条件:
1.函数名相同,同一个作用域
2.参数列表不同:参数个数不同、参数类型不同、参数顺序不同
3.和函数返回值无关,不能光通过函数返回值确定重载。
4.const函数可以区别重载
例如
struct AA
{
? ? ? ? void test () {cout<<"AA::test"<<endl};
? ? ? ? void test ()const{cout<<"AA::test<<endl};//test()与test()const是重载函数
}
void test()//struct AA里面的void test()与此处的void test ()是重载函数原因是两个函数名不相同,struct里面的test函数名是AA::test,此处的函数名是test。
{
? ? ? ? cout<<"test"<<endl;
}
/*
int test ()//不是重载函数,光返回值不同不是重载函数
{
? ? ? ? cout<<"test"<<endl;
}*/
void test (int a)
{
? ? ? ? cout<<"test (int)"<<endl;
}
void test (int a,int b)
{
? ? ? ? cout<<"test (int int)"<<endl;
}
void test (int a,int b,int c)
{
? ? ? ? cout<<"test (int int int)"<<endl;
}