在C++和Java中, 如果函数只是返回值不同,则不能被重载。
例如,下面的C++和Java程序会编译失败。
例子1:C++代码
#include<iostream>
int foo() {
return 10;
}
char foo() {
return 'a';
}
int main()
{
char x = foo();
return 0;
}
编译错误,error: new declaration `char foo()'
例子2:Java代码
public class Main {
public int foo() {
return 10;
}
public char foo() {
return 'a';
}
public static void main(String args[])
{
}
}
编译错误: foo() is already defined