Jane.T

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

======================

函数重载(function overloading)

======================

函数重载允许两个或更多个函数使用同一个名字,限制的条件是他们的参数表必须不同:参数类型不同或参数数目不同.

重载函数在运行时刻的行为与非重载函数完全一样,主要的负担是在编译时刻用来决定该调用哪个实例所需要的时间。

如果C++不提供函数重载支持,那么我们就必须为程序中每个函数都要提供一个独一无二名字。

// 一组min()重载函数
// 每个函数都有一个特有的参数表
#include <string>;
int min( const int *pia, int size );
int min( int, int );
int min( const char *str );
char min( string );
string min( string, string );

 

======================

类域操作符(class scope operator)

======================

在类体外面定义类的成员函数时需要指出成员函数属于哪个类。这个可以通过类域操作符(::)来实现:

IntArray::
IntArray( int sz )
{
    // 设置数据成员
    size = sz;
    ia = new int[ _size ];
    // 初始化内存
    for ( int ix=0; ix < _size; ++ix )
        ia[ ix ] = 0;
}

本例中
IntArray::
IntArray( int sz )

告诉编译器IntArray()函数被定义为IntArray 类的成员。

posted on 2010-02-08 14:59  Jane.T  阅读(462)  评论(0编辑  收藏  举报