1 / 37
文档名称:

C 基础知识PPT课件.ppt

格式:ppt   大小:685KB   页数:37
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C 基础知识PPT课件.ppt

上传人:aluyuw1 2018/7/17 文件大小:685 KB

下载得到文件列表

C 基础知识PPT课件.ppt

相关文档

文档介绍

文档介绍: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。