基本原则
只看形参类型不同即可,不看返回值类型
Record lookup(const Account &);
bool lookup(const Account &); //xxx,返回类型不同没用
原则1
顶层const不能区分形参,因为只是拷贝。
Record lookup(Phone);
Record lookup(const Phone); //xxx,重复声明
Record lookup(Phone *);
Record lookup(Phone *const); //xxx,重复声明
原则2
底层const可以区分形参
Record lookup(Account &);
Record lookup(const Account &);
Record lookup(Account *);
Record lookup(const Account *);
调用哪个
如果找到最佳匹配的,那没事;如果找到多个差不多的,出现二义性调用。