首先,重载只和“参数”“const”有关。和返回值无关。
static在重载函数中
无法重载,报错,但如果只有一个static int name(a,b,c)是可以的。
const在重载中
const修饰变量
其次,如果是简单如const int和int直接不能构成重载,因为函数传参过程无法确定const int和int
但是 char * a和const char* a是区分的,char *a 中a指向的是一个字符串变量,而const char *a指向的是一个字符串常量,所以当参数为字符串常量时,调用第二个函数,而当函数是字符串变量时,调用第一个函数。
对于引用,比如int &i 和const int & i 也是可以重载的,原因是第一个i引用的是一个变量,而第二个i引用的是一个常量
const修饰函数
看下面代码,首先
非成员函数不能使用。