C++面向对象编程01_谭浩强课件.docx

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

PAGE \* MERGEFORMAT59 C++ 面向对象编程 Chapter1 C++ 基础知识 Question1:函数模板: 如果两个函数的参数个数相同,函数的行为相同(做同样的事),只是函数类型和参数的数据类型不同,如果用函数重载的话,编写的函数代码是相同的,为了节省时间,C++提供了函数模板功能。 格式: template typename 标识符[, typename 标识符, … … ] 函数定义(函数的类型和参数的类型用声明的标识符表示) template 是关键字,含义是模板 typename 是关键字,表示其后的标识符代表类型参数,调用时根据实参的类型确定形参的类型。 所谓函数模板,是建立一个通用函数,不指定函数类型和参数类型,而用一个虚拟的类型表示。在调用函数时,用实参的类型取代模板中的虚拟类型。 Example: 为计算两个数中的大数定义函数模板: #include iostream using namespace std; template typename T T max(T a,T b,T c) //用虚拟类型T表示类型 {if(ba) a=b; if(ca) a=c; return a; } Question2:变量的引用: C++提供了为变量取别名的功能,这就是变量的引用。 格式: 类型 变量1 = 变量2 变量2是在此之前已经定义过的变量,且与变量1的类型相同。这里为变量2定义一个别名变量1,在程序里变量1和变量2 就是同一个变量。 注意:两个变量不能用同一个别名 例:int a = 3 ,b =4; int c = a; // c是a 的别名 int c = b; // 错误的用法 一个变量可以有多个别名 例:int a = 3; int b= a; int c= b; 变量a 有两个别名b和c。 #include iostream using namespace std; int main( ) { int a=10; int b=a; //声明b是a的引用 a=a*a; //a的值变化了,b的值也应一起变化 couta bendl; b=b/5; //b的值变化了,a的值也应一起变化 coutb aendl; return 0; } Question3:对引用的进一步说明: (1)引用变量都具有非void类型 (2)不能建立引用的数组 (3)可以建立常引用变量,不允许修改常引用变量的值 例: int i ; const int a = i; a = 3; // 错误的用法 i = 8; // i 不是常变量,可以修改 Question4:可以建立指针变量的引用变量: int i; int *p = i; int * pt = p; // pt是p的别名变量,同时 // 也是指针变量 Question5:内置函数: C++ 提供了一种机制,在编译时,将所调用的函数的代码嵌入到调用函数代码中,在执行函数时省去了调用环节,提高了函数的执行速度。这种机制称为内置函数,有的书称内联函数。 格式: inline 函数类型 函数名(形参表) { 函数体 } inline 是C++的关键字,在编译时,编译程序会把这个函数嵌入到调用函数的函数体中 调用格式: 函数名(实参表) Example #include iostream using namespace std; inline int max(int a,int b,int c) // 这是一个内置函数, // 求3个整数中的最大者 {if (ba) a=b; if (ca) a=c; return a; } int main( ) {int i=7,j=10,k=25,m; m=max(i,j,k); coutmax=mendl; return 0; } 由于在定义函数时指定它是内置函数,因此编译系统在遇到函数调用max( i,j,k ) 时就用max函数体的代码代替max( i,j,k ) ,同时用实参代替形参。调用语句m= max( i,j,k ) 就被置换成: { a=i ; b = j ; c= k; if ( ba) a=b; if ( ca) a=c; m=a; } 使用内置函数可以节省程序的运行时间,但增加了目标程序的长度。所以在使用时要衡量时间和空间的得失。 Questio

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档