正在加载图片...
91画数重载 ●●●●● 在函数调用时,编译程序将按以下规则选择重载函数。 如果函数调用的实际参数类型与一个重载函数形式参数类型 完全匹配,则选择调用该重载函数;如果找不到与实陈参数 类型完全匹配的函数原型,但如果将一个类型转换为更高级 类型后能找到完全匹配的函数原型,编译程序将选择调用该 重载函数。所谓更高级类型是指能处理的值域较大,如int转 换为 unsigned int, unsigned int转换为long,long转换为 unsigned float等。 例如: int func(double d count<<funcA) 虽未声明函数原型 int func(char),但函数调用func (“A)并不会产生任何问题,因为编译程序自动将字符‘A 转换为 double类型,然后调用函数 rint fund( double)。 隐式类型转换是由C+十编译程序自动完成的,这种类型 转换是引起函数重载二义性的主要原因。 <心画9.1 函数重载 在函数调用时,编译程序将按以下规则选择重载函数: 如果函数调用的实际参数类型与一个重载函数形式参数类型 完全匹配,则选择调用该重载函数;如果找不到与实际参数 类型完全匹配的函数原型,但如果将一个类型转换为更高级 类型后能找到完全匹配的函数原型,编译程序将选择调用该 重载函数。所谓更高级类型是指能处理的值域较大,如int转 换为unsigned int,unsigned int转换为long,long转换为 unsigned float等。 例如:int func(double d); … count<<func(‘A’); 虽未声明函数原型int func(char),但函数调用func (‘A’)并不会产生任何问题,因为编译程序自动将字符‘A’ 转换为double类型,然后调用函数int func(double)。 隐式类型转换是由C++编译程序自动完成的,这种类型 转换是引起函数重载二义性的主要原因
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有