c++语言基础知识汇总.ppt

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

* 二.函数重载 .C++中使用同一个名字对一组对不同数据类型进行相同或相似操作的函数命名的机制 .重载的函数可以是普通的函数也可以是类的成员函数 例:int abs(int x) {return x0?x:-x;} long abs(long x) {return x0?x:-x;} float abs(float x) {return x0?x:-x;} 例:int max(int x,int y) {return xy?x:y;} long max(long x,long y) {return xy?x:y;} float max(float x,float y) {return xy?x:y;} * .函数重载的必要性 .C++实现函数重载的机制: 可能的方案:对函数名进行修饰 例:三个abs()函数 C++处理时,在内部给函数名加上了前缀或后缀,以区分重载的一组函数,进行修饰后三个函数的名字可能是: abs_int() abs_long() abs_float() .多个函数共用同一个名字,而这些函数进行的操作与完成的功能大体上相同,只是所操作的数据的类型不同,对这些函数以一个统一的名字调用,符合人的思维习惯,便于阅读理解程序 * .函数修饰指示符 .extern C :函数按C中方式处理,不允许重载 .extern C++ : 缺省方式 允许函数重载 例: extern C{ void f(){ } void f(int){ } } extern C{ void f(){ } void g(){ } } extern C++{ void f(){ } void f(int){ } } * **注意: .重载的多个函数应在参数数目或参数的类型上有所区别 .函数的返回值不能用来区别重载的函数 .引用参数不能用来区别重载的函数 .函数带有缺省实参时可能造成二义性 例:int sum(int a,int b,int c=0); int sum(int a,int b); 应避免这种问题 .重载的函数应该是功能相同或相似的一组函数,不要把完全没有关系的函数进行重载 * 作业 swap函数的各种情况 * §5 基本控制结构 顺序、选择(分支)和循环结构 对应的控制语句 控制语句 无条件控制语句 条件控制语句 分支语句 循环语句 if语句 switch语句 switch语句 for语句 while语句 do-while语句 break语句 continue语句 return语句 goto语句 * §6 数组、结构体、共用体和枚举类型 一.数组:需要处理相同类型的一批相关数据时使用 数组分为一维数组与多维数组 定义: 一维数组:类型 数组变量名[数组长度]; 二维数组:类型 数组变量名[第一维长度][第二维长度]; 例: int nArr[10]; int nArr2d[10][5]; 说明: 数组长度必须是常量表达式:编译时求值 C意义上的字符串采用字符数组作为其存储形式,在最后添加一个ASCII码为0的字符作为字符串的结束标志 * string类:字符串类 string类封装了字符串的基本特性和对字符串的典型操作,其对象可用于保存几乎任意长的字符串,对处理输入文件中一行上字符数不定的情况特别有用 string类是STL中的类,使用时需要包含头文件string并打开名称空间std string类的操作:成员函数 求串长:size()、length() 例: #include iostream #include string using namespace std; void PrintAttribute(const string str){ cout size: str.size() endl; cout length: str.length() endl; } * int main(){ string s1,s2; PrintAttribute(s1); s1 = My string object; PrintAttribute(s1); s2 = Another String Object; PrintAttribute(s2); return 0; } * 赋值:assign() = s1.assign(s2); ? s1 = s2; 连接:append += + s1.append(s2); ? s1+=s2; ? s1=s1+s2; 下标:[] s1[0

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档