C++学习笔记.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++学习笔记 对象:一组属性(数据)+一组行为(函数)构成。 属性——描述对象的静态特征 行为——描述对象的动态特征 Eg: 对象:录像机 属性:厂家、牌子等 行为:播放、快进、倒退等 类:相同特征对象构成的类别。 抽象:分类的依据原则,可以理解为提取对象共性的过程。 Eg:把同是中国国籍的人抽象为一类:中国人 封装:将对象的全部属性和行为封装成一个独立单元(类),形成黑匣子,对外只提供调用接口。 继承:一类的对象拥有另一个类的全部属性和行为。 Eg:“白马”类继承了“马”的基本特征,又增加了新的特征“白” 多态性:通过继承产生的不同的类,其对象会对同一消息作出不同的反应。 ----------------------------------------------------------------------------------------------------------- endl – end of line,代表结束一行,等效于\n,换行,在iostream中定义。 提取运算符,把前面的输入流提出到后面的变量中 插入运算符,把后面的数据插入到它前面的流中。 cout 标准输出流 cerr 标准错误输出流 cin 标准输入流 clog cerr的缓冲形式 cout语法:cout 数据1 数据2 数据3…数据n; 从左到右依次输出 eg: cout “C++ test” 100 x “\n” endl; 把“C++ test”插入()到标准输出流,100数值插入到“C++ test”流中….. “\n” 和 endl(非缓冲流时) 均起到换行效果 cin语法:cin 变量1 变量2 变量3 … 变量n; 用户输入全部数据按Enter键,所输入的数据依次传给各个变量 键盘输入以任何有效的空白分隔符(空格、制表符、换行)分开 eg: cin x; 从cin输入流中提取输入赋值给x。 C++中一行代码过长,可直接enter换行。 输入、输出常用格式控制符: 控制项目控制符名称功能效果范围头文件进制dec十进制表示长效iostreamoct八进制表示长效hex十六进制表示长效换行endl输出换行短效域宽setw(int n)输出数据域宽为n 当n实际长度,右对齐,域余空格填充 当n实际长度,按数据长度输出短效iomanip填充setfill(char c)对输出域余用c填充长效精度setprecision(int n)实数输出精度长效const:定义长变量,在程序中不许改变;替代#define符号替换出现的问题。 inline:内联函数-在编译时类似#difine直接被字符替换,解决短小函数多次调用切换造成的资源浪费。 函数体内包含循环、switch、复杂嵌套if时不能用inline 内联会加快代码执行速度(切换少),但为增加代码规模 函数重载:定义多个函数时,函数名相同,但形参的类型或个数有所不同,在调用重载函数时,由编译器实参跟形参的最佳匹配调用对应函数。 eg. int add(int x,int y); double add(double x,double y); double add(int x,int y,int z); 调用时,根据参数不同调用不同函数。 编译器只判断参数类型与参数长度,并不根据返回值。 C语言并没有函数重载。 函数模板:根据实参类型重定义函数的形参类型(即形参类型不定)。 函数模板声明格式: templateclass 数据类型参数标识符1,…,class 数据类型参数标识符n 返回类型函数名(参数表) { 函数体 } Ps.一次template只定义一个函数模板!定义与函数体之间不能插有其它 名称定义: 函数模板:函数模板声明的函数,因形参类型不定不能直接执行。 模板函数:实例化后的函数模板,由实参确定了形参类型,能执行。 实例化:不同实参的数据类型会形成不同的模板函数的过程。 类型形参:函数模板定义时的类型参数标示,例如T 模板实参:将类型形参实例化的调用参数 函数模板只能替代数据类型,但对于传递参数个数必须形参实参对应。 函数模板实际是类似函数的集合,可参与函数重载。 先查看有无普通函数完全匹配(函数重载)(不进行隐性类型转换) 再查看函数模板是否合适(函数模板禁止使用隐性类型转换) 最后进行普通函数的隐性类型转换 eg. template typename T T add(T a, T b, T c) {return a+b+c}; 调用:int sum=add(3,4,5); 带默认参数的函数: 函数形参在声明时赋予默认值,定义时不需要赋予默

文档评论(0)

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

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

1亿VIP精品文档

相关文档