C++ 第五讲 成员函数.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
void f0(float a,int b,char c); void f1(float a,int b,char c=‘B’); void f2(float a,int b=4,char c=‘B’); void f3(float a=1,int b=4,char c=‘B’); float a=2.1;int b=5;char c=‘C’; f3(a,b,c); //调用2.1,5,C f3(a,b); //调用2.1,5,B f3( ); //调用1,4,B f1(a,b); //调用2.1,5,B f0(a,b,c); //调用2.1,5,C f0(a,b);f1(a);f2( );//错误 §5.4 函数的参数 §5.4 函数的参数 说明 在设置默认值时要注意以下事项: ③不允许在函数原型和函数定义中,同时指定 默认值。 四、带默认参数的函数 void f1(float a,int b,char c=‘B’); void f1(float a, int b , char c=‘B’) { …} §5.5 静态成员函数 补充:静态数据成员 #includeiostream.h class TC { private: int m; static int n; public: void set() {m=0;m++;n++;} void disp() { coutm“,”nendl;} }; int TC::n=0; void main() { TC A,B; A.set(); B.set(); A.disp(); B.disp(); } 执行结果: 1,2 1,2 §5.5 静态成员函数 二、定义静态成员函数的格式: static 返回值类型 成员函数名(参数列表); 一、静态成员函数作用 当类的对象不存在时,只有静态成员函数 可以访问类的静态数据成员。 §5.5 静态成员函数 三、静态成员函数中引用的数据 ⒈ 直接引用: 类中的静态数据成员; 全局数据变量; 用const关键字说明的常量; 2. 间接引用 类中的非静态数据成员。 int ex = 6; //全局变量 const int cx = 7; //常量 class Myclass { public: static int f_1 ( Myclass m ); //静态成员函数 int x; //非静态数据成员 static int y; //静态数据成员 }; int Myclass::y = 8; int Myclass::f_1( Myclass m ) { m.x = 9; return y + ex + cx + m.x; } 函数的调用结果是:返回值 = 30 ⒈ 直接引用: 类中的静态数据成员; 全局数据变量; 用const关键字说明的常量; 2. 间接引用 类中的非静态数据成员。 §5.5 静态成员函数 四、静态成员函数的调用 方法⒈ 类名::静态成员函数名 方法⒉ 对象名. 静态成员函数名 方法⒊ 对象指针 - 静态成员函数名 §5.6 函数的重载 函数重载是指同一个函数名可以对应着多个函数的实现,即支持多个不同的函数采用同一名字。 int iabs (int i); long labs (long l); double dabs (double d); C语言 int abs (int i); long abs (long l); double abs (double d); C++语言 (要求函数名唯一) ①C++的函数如果在返回类型、参数类型、 参数个数、参数顺序上有所不同,则认 为是不同的。但重载函数如果仅仅是返 回类型不同,则是不够的,例如下面的 声明是错误的: 说明 void func(int); int func(int); §5.6 函数的重载 举例说明参数类型不同的重载函数的实现 例1 #include iostream.h int abs(int x) { return x0?x:-x; } float abs(float x) { return x0?x:-x; } void main( ) { cout“-10的绝对值是:”abs(-

文档评论(0)

0520 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档