下载此文档

C 基础知识PPT课件.ppt


文档分类:IT计算机 | 页数:约37页 举报非法文档有奖
1/37
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/37 下载此文档
文档列表 文档介绍
C++基础知识3
信息学院
李崇威
ise_******@ujn.
QQ: 58296786
C++基础知识3
函数重载
模版
继承与派生
多态
函数重载
函数的重载也称多态函数。C++允许功能相近的函数在相同的作用域内以相同函数名声明,但是形参的个数或者形参的类型不应相同,编译系统会根据实参和形参的类型及个数的最佳匹配,自动确定调用哪一个函数,这就是所谓的函数重载。
对于没有重载机制的C语言,每个函数必须有其不同于其它函数的名称,即使操作是相同的,仅仅数据的类型不相同,也需要定义名称完全不同的函数,这样就显得重复且效率低下。
例如,定义求两个数中较大值的函数,就必须对整数、浮点数以及双精度数分别用不同的函数名实现:
int imax (int x, int y)
{ return (x>y) ? x : y; }
float fmax (char x, char y);
{ return (x>y) ? x : y; }
double dmax (double x, double y);
{ return (x>y) ? x : y; }
程序在调用上述三个不同类型的函数时,是以名字加以区别的,需要记住并区别它们的名称。显然,这样就造成了代码的重复,使用起来也不方便,更不利于代码的维护。
对于具有重载机制的C++语言,允许功能相近的函数在相同的作用域内以相同函数名定义,因而使函数方便使用,便于记忆,也使程序设计更加灵活。
仍以上例而言,在C++中只要用一个函数名即可,如max( ),然后以调用此函数的参数类型来决定是要比较int型、float型,还是double型的数的大小。
例:实现上例
#include <iostream>
using namespace std;
int max(int x, int y)
{ return (x>y) ? x : y; }
float max(float x, float y)
{ return (x>y) ? x : y; }
double max(double x, double y)
{ return (x>y) ? x : y; }
void main( )
{
cout<<max(3, 5)<<endl;
cout<<max(, )<<endl;
cout<<max(, )<<endl;
}
模版
C++的最重要特性之一就是代码重用。为了代码重用,代码必须是通用的。而通用代码必须不受使用数据类型的影响。
模板就是实现代码重用机制的一种工具,它是由可以使用和操作任何数据类型的通用代码构成,它可以实现类型参数化,即把类型定义为参数,从而实现了真正的代码重用。
模板分为函数模板和类模板,它们分别允许用户构造模板函数和模板类。
函数模版
函数模板可以用来创建一个通用功能的函数,以支持多种不同形参,进一步简化重载函数的函数体设计。
函数模版的定义形式:
template <typename 标识符>
返回类型函数名(模板形参表)
{
函数体
}
其中,template是一个声明模板的关键字,它表示声明一个模板。 typename也可以写成class。

C 基础知识PPT课件 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数37
  • 收藏数0 收藏
  • 顶次数0
  • 上传人aluyuw1
  • 文件大小685 KB
  • 时间2018-07-17