1、调用一个成员函数时,包括三个步骤:
第一步,编译器查找函数的名字;
第二步,从可用候选者中选择最佳匹配函数;
第三步,检查是否具有访问该匹配函数的权限。
2、很多与函数匹配有关的错误并非源于对编译器复杂的名字查找和重载函数匹配算法的误解,而是对这有序三大步的性质的误解。
class B {
public:
//.....
void f( double );
};
class D : public B {
void f ( int );
};
1、调用一个成员函数时,包括三个步骤:
第一步,编译器查找函数的名字;
第二步,从可用候选者中选择最佳匹配函数;
第三步,检查是否具有访问该匹配函数的权限。
2、很多与函数匹配有关的错误并非源于对编译器复杂的名字查找和重载函数匹配算法的误解,而是对这有序三大步的性质的误解。
class B {
public:
//.....
void f( double );
};
class D : public B {
void f ( int );
};