函数重载

函数重载(function overloading )允许多个函数共享同一个函数名但是针对不同参数类型提供共同的操作,相同的名字但参数表惟一,识别函数声明是否相同时,并不考虑const和 volatile修饰符。

重载函数集合中的全部函数都应在同一个域中声明,不同域中声明的函数不被视为函数重载,因为每个类都维持着自己的一个域,所以两 个不同类的成员函数不能相互重载。

可以在一个名字空间内声明一组重载函数,每个名字空间也都维持着自己的一个域,作为不同名字空间成员的函数不能相互重载。

using声明和using指示符可以使一个名字空间的成员在另一个中可见。

用户不能在using声明中为一个函数指定参数表。即using libs_R_us::max; //成功;using libs_R_us::print( double );  //  错误 。

由using声明引入的函数重载了在该声明所出现的域中同名函数的其他声明。

链接指示符只能指定重载函数集中的一个函数;extern "C" void print( const char* ); extern "C" void print( int ); //错误

函数重载解析的步骤如下 
    1 。确定函数调用考虑的重载函数的集合,确定函数调用中实参表的属性 。
    2 。从重载函数集合中选择函数该函数可以在给出实参个数和类型的情况下用调用 
中指定的实参进行调用 
    3 。选择与调用最匹配的函数

你可能感兴趣的:(arm)