Java中有方法的重载和重写,在Java中方法重载的定义是:在同一个类中具有2个或2个以上的方法他们的方法名称完全相同,只是方法的参数的个数不同或者方法参数的类型不同的这种方法就叫方法重载,在C++中和java的的定义基本相同,在java中叫方法在C++中叫函数,在C++中的定义是2个以上的函数具有相同的函数名,但是形参的个数或着类型不同,这种函数叫函数重载。其实二者都是一个道理。
一下是函数参数个数不同的重载实例
#include <iostream>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
void add(int a);
void add(int a,int b);
int main(int argc, char** argv) {
int c;
cout <<"Please input a interger";
cin>>c;
add(c);
cout<<"---------------------"<<endl;
add(3,c);
return 0;
}
//添加的方法参数的个数只有一个
void add(int a)
{
cout <<"参数个数只有一个的函数"<<a<<endl;
}
//参数个数有2个的函数
void add(int a,int b)
{
cout <<"a和b交换前"<<a<<b<<endl;
int temp;
temp=a;
a=b;
b=temp;
cout <<"a和b交换后"<<a<<b<<endl;
}
以下是函数参数类型不同的重载实例:
#include <iostream>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
void add(int a);
void add(long a);
int main(int argc, char** argv) {
add(3);
cout<<"----------华丽的风格线------------"<<endl;
add(4l);
return 0;
}
void add(int a)
{
cout<<"参数类型为int a="<<a<<endl;
}
void add(long a)
{
cout<<"参数类型为long a="<<a<<endl;
}