读书人

函数应用

发布时间: 2012-09-06 10:37:01 作者: rapoo

函数使用
#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(类的对象),所以会调用类的重载函数,就是这样,你想想,两个重名的只能一个起作用是吧。。。希望你能理解,欢迎交流

读书人网 >C++

热点推荐