C++ Primer chap9

1 .

缺省实参可以使多个函数进入到可行函数集合中 可行函数是指可以用调用中指定的实
参进行调用的函数 可行函数可以有比函数调用实参表中的实参个数更多的参数 只要每个
多出来的参数都有相应的缺省实参即可 
extern void ff( int );
extern void ff( long, int = 0 );
int main() {
     ff( 2L );    // 匹配 ff( long, 0 );
     ff( 0, 0 );  // 匹配 ff( long, int );
     ff( 0 );     // 匹配 ff( int );
     ff( 3.14 );  // 错误: 二义
}
        对于第一个和第三个调用 即使该实参表中只有一个实参 第二个函数ff()仍然是两个
调用的可行函数 原因如下 
        1    函数的第二个参数有相应的缺省实参 
        2    函数的第一个参数是long 型 与第一个调用的实参类型精确匹配 通过标准转换等
级的转换序列 与第三个调用的实参类型也匹配 
        最后一个调用是二义的 这是因为通过在第一个实参上应用标准转换 两个实例都可以
匹配 这里不能选择ff(int)作为更好的函数 因为它只有一个实参 

posted @ 2011-08-05 20:23  jialejiahi  阅读(112)  评论(0编辑  收藏  举报