C++中的一个多态函数问题!初学者提问
来源:百度知道 编辑:UC知道 时间:2024/07/07 06:18:33
C++中的一个多态函数问题!如下:
假设我定义了两个函数,函数名一样,函数参数不一样:
void func( int a, int b){ //.....}
void func( int &a, int &b){ //.....}
请问:我在主函数里 写代码 :
s1=3; s2=5;
func( s1,s2);,这个时候 程序会调用哪个函数呢?
假设我定义了两个函数,函数名一样,函数参数不一样:
void func( int a, int b){ //.....}
void func( int &a, int &b){ //.....}
请问:我在主函数里 写代码 :
s1=3; s2=5;
func( s1,s2);,这个时候 程序会调用哪个函数呢?
在c++语法中这样做是错误的 因为编译器无法分辨你调用的是哪个函数
还有也不可以这样
func(int *a)
func(int a)
还有可以强制类型转换的类型也是不可以重载的
Ambiguous知道吗,也就是二义性,C++里面最烦的就是这个玩意儿……所以当你知道了不能这么用的时候,你就应该在以后学习的过程中避免犯这个错误~~