C++02《C++的新增语法零星部分》.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C02《C的新增语法零星部分》

C++02《C++的新增语法零星部分》 C++第二次课,2004.2.18 《C++的新增语法零星部分》 一、C++的新增语法(零星部分) 7.(P77)引用 【重点】【难点】 引用类型的引入 新数据类型(有点像指针类型):引用类型 写法:基类型 引用名; 如:int ref; 理解:是别名! 不是变量! 引用类型在说明时必须进行初始化,除非用作函数的参数或返回值 引用不能改指 const变量的引用: const int i; const int ref = i; // const 不能省 引用不是变量,不能说明引用的引用,也不能说明引用数组或指向引用的指针 但是可以说明对指针的引用: int *a; // a无所指 int * p = a; // a仍无所指 int b; p = b; // a指向b了 引用的用途之一:函数参数的引用传递 【P78的例3-12,3-13】 *引用的另一个用途:函数能出现在赋值运算符的左边 int a[8] = {0, 1, 2, 3, ……, 7 }; int index(int i); void main() { index(2) = 10; cout a[2]; } int index(int i) { return a[i]; } 8.(P81)带默认形参值的函数(缺省参数) 自右向左定义 9.(P80) inline函数修饰符(内联函数),带参宏的代替物 适合于短小函数体的函数 10.(P83)函数重载 【重点】 根据参数个数和类型区分不同的函数 不根据参数名区分 不根据返回值类型区分 建议不要将不同功能的函数重载——虽然你可以做 【P84的例3-16】 *“最佳匹配”与隐式类型转换:f(double,double)已定义的情况下“f(1, 1.5);”会进行1-1.0的隐式类型转换,但若重载了f(int, double),则不会转换。 *重载函数和缺省参数连用产生二义的例子 11.(P85)函数模板 函数模板的引入 可以用宏实现,也可用重载来实现 写法: template typename T …… 函数模板会随着编译的进行不断产生函数,函数模板产生的函数叫模板函数 比宏可靠得多,比重载机制代码少得多 【P86的例3-17】 每个函数模板前都要有各自的template语句 *由于编译器先找普通函数,再找函数模板的实例化函数,故可用特定模板函数来阻止编译器从模板产生函数。 顺序查找函数模板: template typename T int Sort(T atom[], int nCount, T key) { int i, j; for (i = 0; i nCount; i++) if (atom[i] == key) return i; return -1; } 两数交换的函数模板: template typename T void Swap(T a, T b) // 不必用指针型参数了 { T temp; temp = a; a = b; b = temp; } ========================================================================================================= 实验一: 实验名称:《C++新增零星语法辨析》 实验目的:熟悉VC编程环境;加深对C++新增语法的正确书写格式的认识 实验要求: 选Win32 Console Application创建一工程(Project),然后进行下列任务: 任务一:试验下列有关符号常量写法是否都合法: A. const int COUNT = 100; B. int const COUNT = 100; C. const int COUNT; COUNT = 100; 任务二:试验下列有关缺省参数的程序写法是否都合法: A. int add(int a = 1, int b = 2); void main() { cout add(3); } int add(int a, int b) { return a + b; } B. int add(int a, int b); void main() { cout add(3); } int add(int a = 1, int b = 2) { return

文档评论(0)

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

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档