C++中调用被重载函数时,通过什么来区分被调用的是哪个函数
6个回答
展开全部
编译器根据实参和形参的类型及个数的最佳匹配,自动调用哪一个函数。
如:void add(int a,int b)
{return a+b;}
void add(double a,double b)
{return a+b;}
main()
{ int c=add(1,2); //调用第一个函数
double d=add(1.0,2.0); //调用第二个函数
}
如:void add(int a,int b)
{return a+b;}
void add(double a,double b)
{return a+b;}
main()
{ int c=add(1,2); //调用第一个函数
double d=add(1.0,2.0); //调用第二个函数
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
编译器会根据你给定的实参来调用重载函数中形参最匹配的函数:
例如:
int find(int a){。。。}
int find(int a,int b){。。。}
int find(double a,double b=0){。。。}
int find(char a){。。。}
main()
{
find(1,2);
find(1.0);
}
在这里第一个find函数调用int find(int a,int b){。。。}重载函数,
find(1.0)调用 int find(double a,double b=0){。。。}重载函数,这里有一个默认的形参,所以调用时可以给一个变量或者两个变量。
例如:
int find(int a){。。。}
int find(int a,int b){。。。}
int find(double a,double b=0){。。。}
int find(char a){。。。}
main()
{
find(1,2);
find(1.0);
}
在这里第一个find函数调用int find(int a,int b){。。。}重载函数,
find(1.0)调用 int find(double a,double b=0){。。。}重载函数,这里有一个默认的形参,所以调用时可以给一个变量或者两个变量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
通过特征标(就是参数列表)来确定。重载函数必须是特征标不一样,也就是参数数目或类型不一样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
通过参数类型和个数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询