/*
void f();
void f(int);
void f(int, int);
void f(double, double=3.14);
练习6.51:
编写上述函数f的4个版本,令其各输出一条可以区分的消息。验证下列调用的最佳匹配。
(a)f(2.56, 42)
可行函数:f(int, int)、f(double, double=3.14)
2.56, 最佳匹配:f(double, double=3.14)
42,最佳匹配:f(int, int)
调用不合法:具有二义性。
(b)f(42)
可行函数:f(int),void f(double, double=3.14)
最佳匹配:f(int)
void f(double, double=3.14),涉及类型转换。
(c)f(42, 0)
可行函数:f(int, int)、f(double, double=3.14)
最佳匹配:f(int, int)
(d)f(2.56, 3.14)
可行函数:f(int, int)、f(double, double=3.14)
最佳匹配:f(double, double=3.14)
f(int, int), 涉及类型转换。
*/
#include "TouWenJian_6.h"
void f()
{
cout<<"这个f没参数"<<endl;
}
void f(int)
{
cout<<"这个f有1个int参数"<<endl;
}
void f(int, int)
{
cout<<"这个f有2个int参数"<<endl;
}
void f(double, double=3.14)
{
cout<<"这个f有2个double参数, 且第二个形参有默认值3.14"<<endl;
}
int main(int argc, char *argv[])
{
// for(int i=1;i<argc;++i)
// cout<<argv[i]<<endl;
// f(2.56, 42);
// f(42);
// f(42, 0);
f(2.56, 3.14);
return 0;
}
C++Primer第五版第六章练习6.51
最新推荐文章于 2024-11-07 15:40:17 发布