======================
函数重载(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 类的成员。