正在加载图片...
第5单元函数 double abs(double x) return x>0?x: -x long abs (long x) return x>0?x: -x void maino int xl=1 double x2=2.5 cout <<"xl abs(x1)<< endl 2=″<abs(x2)<endl cout <<x3="<< abs(x3)<< endl 输出:|x1|=1 分析:本例中定义了3个同名的函数abs(),分别为求整型量、实型量和长整型 量绝对值的函数。在main()函数中分别调用这3个函数求x1,x2,x3的绝对值 重载的函数既然函数名相同,那么编译器是根据什么确定一次函数调用是调用的哪一个 函数呢?编译器是根据函数参数的类型和个数来确定应该调用哪一个函数的。因此,重载函 数之间必须在参数的类型或个数方面有所不同。只有返回值类型不同的几个函数不能重载。 重载函数从一个方面体现了C++对多态性的支持,即实现了面向对象(OOP)技术中所 谓“一个名字,多个人口”,或称“同一接口,多种方法”的多态性机制。 58C++的库函数 为了方便程序员编程,ⅵ isual c++软件包提供了大量已预先编制的函数,即库函数。对 于库函数,用户不用定义也不用声明就可直接使用。由于C++软件包将不同功能的库函数的 函数原型分别写在不同的头文件中,所以,用户在使用某一库函数前,必须用 include预处 理指令给出该函数的原型所在头文件的文件名。例如,欲使用库函数sqrt(),由于该函数 的原型在头文件 math. h中,所以必须在程序中对该函数调用前写一行 #include <math. h> 在第3单元已经介绍了字符串处理类库函数。C+的库函数极多,很难一一列举。本教程的第 5 单元 函数 - 95 - double abs(double x) { return x>0?x:-x; } 1ong abs(1ong x) { return x>0?x:-x; } void main() { int x1 = 1; double x2 = 2.5; 1ong x3 = 3L; cout << "|x1| = " << abs(x1) << endl; cout << "|x2| = " << abs(x2) << endl; cout << "|x3| = " << abs(x3) << endl; } 输 出: |x1| =1 |x2| = 2.5 |x3| = 3 分 析:本例中定义了 3 个同名的函数 abs(),分别为求整型量、实型量和长整型 量绝对值的函数。在 main()函数中分别调用这 3 个函数求 x1,x2,x3 的绝对值。 重载的函数既然函数名相同,那么编译器是根据什么确定一次函数调用是调用的哪一个 函数呢?编译器是根据函数参数的类型和个数来确定应该调用哪一个函数的。因此,重载函 数之间必须在参数的类型或个数方面有所不同。只有返回值类型不同的几个函数不能重载。 重载函数从一个方面体现了 C++对多态性的支持,即实现了面向对象(OOP)技术中所 谓“一个名字,多个人口”,或称“同一接口,多种方法”的多态性机制。 5.8 C++的库函数 为了方便程序员编程,Visual C++软件包提供了大量已预先编制的函数,即库函数。对 于库函数,用户不用定义也不用声明就可直接使用。由于 C++软件包将不同功能的库函数的 函数原型分别写在不同的头文件中,所以,用户在使用某一库函数前,必须用 inc1ude 预处 理指令给出该函数的原型所在头文件的文件名。例如,欲使用库函数 sqrt (),由于该函数 的原型在头文件 math.h 中,所以必须在程序中对该函数调用前写一行: #include <math.h> 在第 3 单元已经介绍了字符串处理类库函数。C++的库函数极多,很难一一列举。本教程的
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有