第1章 C++面向对象程序的设计要点.ppt

  1. 1、本文档共67页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章C面向对象程序的设计要点

第1章 C++面向对象程序设计要点 1.1 函数和函数参数 1.2 输入输出 ? 1.3 类 1.4 抽象类型和模板 1.1 函数和函数参数 1.1.1函数类型 C++中有两种类型函数:常规函数和成员函数。常规函数用于完成一个特定的功能,成员函数用于类方法的定义。无论是常规函数还是成员函数,其定义都包括四个部分:函数名、形式参数表、返回类型和函数体。 函数的使用者通过函数名来调用函数,调用过程是把实际参数表传送给形式参数表作为函数的数据来源,然后执行函数体中的语句实现该函数的功能,最后得到的返回值由函数名带回函数的调用者。成员函数是用于类方法定义的,因此,只有该类的对象才能调用其成员函数。 1.1.2 函数名重载 C++允许函数名重载,即允许若干个相同的函数名能在相同作用域内使用。编译系统根据函数引用的参数类型和参数个数判明函数的使用。 例1―1函数名重载 #include<stdio.h> int max(int a,int b) { if(a>=b)return a; else return b; } Float max(float a,float b,float c) { if(a>=b&&a>=c)return a; else if(a<b&&b>c)return b; else return c; } void main() { printf("max(2,3)=%d\n",max(2,3)); printf("max(2.3,5.6,3.1)=%f\n",max(2.3,5.6,3.1)); } 1.1.3 函数参数 C++中函数(包括常规函数和成员函数)参数有四种方式:值参数、常值参数、引用参数和常值引用参数等方式。但常值参数方式因无必要,一般不用。要注意的是,不同方式的参数(不同方式的返回值也类同)在函数的传递调用中系统将视为不同的数据类型,如定义有函数f1(intx), 在函数f1()中又要调用函数f2(),如果函数f2()的定义是f2(constintx),系统将视int和constint为不同的数据类型,从而告知用户数据类型不匹配。int和int&的情况也一样。注意到这一点将可免去许多程序调试中的问题。 例1―2函数参数的值参数、引用参数和常值引用参数三种方式。 int Example1(int a,int b,int c) //值参数方式 { intx,y,z; x=a;y=b;z=c; ? a=2*a;b=2*b;c=2*c; //函数返回后对应实际参数的值不变 return(x+y+z)/3; } intExample2(int& a,int& b,int& c)//引用参数方式 { int x,y,z; x=a;y=b;z=c; a=2*a;b=2*b;c=2*c;//函数返回后对应实际参数的值改变 return(x+y+z)/3; } intExample3(const int& a,const int& b,cons tint&c) //常值引用参数方式 { return(a+b+c)/3; //不允许改变常值引用参数a,b,c的值 } 引用参数的方法是在类型名后加符号&,常值引用参数的方法是在引用参数方法的基础上再在函数定义行的最前边加保留字const。 对于Example1的值参数方式,在运行时,对应的实际参数的值拷贝给形式参数,当函数终止时,形式参数的值不拷贝回实际参数。因此,值参数方式的函数调用不会改变对应形式参数的实际参数的值。 ? 1.1.4成员函数返回值 和函数参数的方式类同,成员函数返回值也有值方式、常值方式、引用方式和常值引用方式等四种方式。

文档评论(0)

bokegood + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档