C++重载的多义

Posted YuRi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++重载的多义相关的知识,希望对你有一定的参考价值。

重载的条件:函数参数类型和个数不同,返回值不做为考虑。例:

void f(int i);
void f(double i);

一、float和double的情况:

void f(float i);
void f(double i);

如果输入浮点数,不存在多义,将会调用void f(double i),因为:在C++中将浮点数转化为double类型。假如输入:10,则存在多义,因为编译器不知道如何转换。
二、char和unsigned char的情况

void f(unsigned char c);
void f(char c);

如果输入:f(‘c‘)无多义,但是输入f(88)会产生多义。
三、函数用缺省参数产生的多义

void f(in i,int j=1);
void f(int i);

输入f(20),会产生多义。



以上是关于C++重载的多义的主要内容,如果未能解决你的问题,请参考以下文章