您的位置:首页 > 其它

学习笔记-递归,重载

2007-10-29 18:03 239 查看
1.递归:直接或间接调用自己 的函数 被称为递归函数(recursive function)。递归函数必须定义一个停止条件stopping condition 否则函数会永远递归下去有时候这被称作无限递归(infinit recursion)错误。
阶乘的计算可以用递归函数实现
unsigned long factorial( int val )
{
if ( val > 1 )
return val * factorial( val-1 );
return 1;
}

2.重载。函数重载(function overloading)允许多个函数共享同一个函数名但是针对不同参数类型提供共同的操作。在C#/C++中可以为两个或多个函数提供相同的名字只要它们的每个参数表惟一就行,或者是参数的个数不同,或者是参数类型不同。

如果两个函数的返回类型和参数表精确匹配则第二个声明被视为第一个的重复声明

如果两个函数的参数表相同但是返回类型不同则第一个声明被视为第一个的错误重复声明会被标记为编译错误

如果在两个函数的参数表中只有缺省实参不同则第二个声明被视为第一个的重复声明

3.除了静态(static)数据成员外,其它数据成员不能在类体中被显式地初始化,而必须通过类的构造函数进行初始化。——即是说,一个类的静态数据成员、静态方法可以直接调用,而非静态的则须将类实例化后才能使用。——但静态方法不宜多用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: