函数使用
#include<iostream>
using namespace std;
struct A{
int operator()(int a,int b);
};
int A::operator()(int a,int b){
return a<b?a:b;
}
int min(int x,int y){
return x<y?x+1:y+1;
}
int main(){
cout<<min(10,1)<<endl;//
A min;
cout<<min(10,1)<<endl;
return 0;
}
为什么通过类A实例化对象min后 调用的就是A类的重载函数呢
[解决办法]
呵呵,外部的全局变量min函数 和 内部的类对象min重名了,此时内部的min会把外部的min覆盖了,也就是说真正起作用的是内部的min(类的对象),所以会调用类的重载函数,就是这样,你想想,两个重名的只能一个起作用是吧。。。希望你能理解,欢迎交流