C++可以存在相同的函数名,只要函数的形式参数不同就可以,调用时候会根据传入的参数类型动态决定调用哪个函数,这个特性叫做函数重载。
示例:
#include <iostream>
#include <string>
using namespace std;
void display(void)
{
cout<<"This function have no parmeter"<<endl;
}
void display(const char*)
{
cout<<"This funtion have one const char parmeter"<<endl;
}
void display(int one,int two)
{
cout<<"This function have two int parmeter"<<endl;
}
void display(float number)
{
cout<<"This function have one float parmeter"<<endl;
}
void display();
void display(const char*);
void display(int one,int two);
void display(float number);
int main(void)
{
cout<<endl;
cout<<"/************函数重载测试********************/"<<endl;
cout<<"call display()"<<endl;
display();
cout << endl;
cout << "call display(\"const char*\")" <<endl;
display("const char*");
cout << endl;
cout << "call display(1, 2)" <<endl;
display(1, 2);
cout << endl;
cout << "call display(3.3)" <<endl;
display(float(3.3)); //把 3.3 转换成 float 类型, C++类型转换和 C 语言不同,但是也可以使用C 语言风格写。
return 0;
}
示例:
#include <iostream>
#include <string>
using namespace std;
void display(void)
{
cout<<"This function have no parmeter"<<endl;
}
void display(const char*)
{
cout<<"This funtion have one const char parmeter"<<endl;
}
void display(int one,int two)
{
cout<<"This function have two int parmeter"<<endl;
}
void display(float number)
{
cout<<"This function have one float parmeter"<<endl;
}
void display();
void display(const char*);
void display(int one,int two);
void display(float number);
int main(void)
{
cout<<endl;
cout<<"/************函数重载测试********************/"<<endl;
cout<<"call display()"<<endl;
display();
cout << endl;
cout << "call display(\"const char*\")" <<endl;
display("const char*");
cout << endl;
cout << "call display(1, 2)" <<endl;
display(1, 2);
cout << endl;
cout << "call display(3.3)" <<endl;
display(float(3.3)); //把 3.3 转换成 float 类型, C++类型转换和 C 语言不同,但是也可以使用C 语言风格写。
return 0;
}