函数重载也叫函数多态,通常使用函数时,利用其不同的参数调用同一个函数,而函数重载可以 使用多个同名的函数,通常可以理解为不同场景进行不同的事,而这用来区分的不同场景就是函数的参数列表 也叫函数的特征标。 而特征标的衡量标准是两函数的参数数目和类型,以及他们的排列顺序 若要定义重载函数其特征标必须不同,与变量名无关。 如:
void ?a(double x,double y){ cout<<x*y; }
void a(int c,int d) { cout<<c+d; }
使用a()函数时会寻找与调用时相同特征标的原型
a (2.4,2.0); ?//与第一个匹配,执行第二个
a (2,4);//与第二个匹配,执行第二个
注意:在函数调用时要使用正确的参数类型, 1.如果未匹配到正确的原型且原型在两个及以上时编译器分辨不出选用哪一个便会报错 2.如果未匹配到正确的原型但是原型只有一个时会进行强制转换进行匹配 3.如果编译器同时成功匹配到两个及以上的原型时也无法分辨选用哪一个,这也是不允许的
?区分左值与右值 c++中将能取地址,有名字的称为左值(常规可变参数) 而把不能取地址的如常数或者const定义的常变量这种不可修改的称为右值 而定义右值引用的格式: 类型 && ?引用名 =右值表达式 传统左值引用格式 类型 & 引用名 =左值表达式
|