- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++与C#第二章.ppt
C++与C# 第二章 基于过程的程序设计 写一函数:打印整型数组中的元素 const与指针连用: int x = 10; int y = 20; const int *pi; pi = x; *pi = 100; pi = y; int * const pj = x; *pj = 100; pj = y; const int * const pp; 指向常量的指针 常量指针 指向常量的常量指针 1.6 函数重载 问题: 编写一个函数,求一组数中的最大值。 int max_i ( int a[ ] ,int size); double max_d( double d[ ] ,int size); Point max_y( Point p[ ] ,int size); int max_i2( int a, int b); double max_d2( double a, double b); 功能类似的一组函数, 使用不同的名字不便于使用 能否使用 同一函数名字? 1.6 函数重载 int max( int a[ ],int size ); double max( double d[ ] , int size); Point max( Point p[ ],int size ); int max( int a, int b); double max( double a, double b); 函数重载(function overloading)允许多个函数 共享同一个函数名 但是针对不同参数类型提供共同的操作 int max( int a[ ] ,int size); double max( double d[ ] ,int size); Point max( Point p[ ] ,int size); int max( int a, int b); double max( double a, double b); int a[10]; …… int mi = max(a,10); …… double d1, d2; …… double md = max(d1, d2); 把函数调用与重载函数集合中的一个函数相关联的过程称为函数重载解析 重载解析首先查找匹配最精确的函数 int max( double a, double b); double max( double x, double y); 在C++中,区分不同函数: 函数名、形参个数、形参类型 如果两个函数的参数表相同,但是返回类型不同,则第一个声明被视为第一个的错误重复声明,会被标记为编译错误。 作业: 以下面函数原型的定义形式完成作业1: void cat ( Employee * head, Employee * one ); 函数缺点? 宏定义缺点? 内联函数 回忆函数定义与函数原型或函数声明的概念 下一节缺省参数 举例 举例注意点 下一节:能否定义部分省略实参 下一节:在哪里定义缺省实参? 下一节省略参数 下一节:引用 下一节:引用在什么情况下使用 下一节:引用与指针的关系 下一节:引用与数组的关系 下一节:const与指针连用实例 下一节:函数重载 * * 北航软件所 孙自安 新主楼G920 电话 第1次作业(提交截至日期3.12日): 写一个函数cat,形参为:Employee * head, Employee * one。 Employee结构定义如下所示,head指向一链表(按职工编号num升序排列),该函数将one指向的职工信息插入到链表中,并保持按照职工编号升序。 在main函数中测试该函数:从屏幕输入每个员工的信息,用new动态分配空间存储信息,然后调用该函数建立链表,最后按职工编号升序输出每个员工的信息,并释放动态申请的空间。 struct Employee{ char * name; int num; double salary; char * address; Employee * next; }; void main(void) { int number; Employee *cur,*head; cinnumber; for (int i=1;i=number;i++) { cur=new Employee; cincur-namecur-num cur-salarycur-address; cat(head,cur); } printAndDel(head); }
文档评论(0)