- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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);
带默认参数的函数:函数形参在声明时赋予默认值,定义时不需要赋予默
您可能关注的文档
最近下载
- 2024-2025学年高中信息技术华东师大版(2020)选修2教学设计合集.docx
- 木里县白碉至鸭嘴一带存在大型.PDF VIP
- YD-5079-2005 通信电源设备安装工程验收规范.pdf VIP
- 2024年甘肃甘南州专业化管理的村党组织书记招聘笔试参考题库附带答案详解.pdf VIP
- 餐饮服务食品安全操作规范.doc VIP
- JJG 610-2013A型巴氏硬度计.docx VIP
- 职业技能大赛的作品汇报PPT获奖模板.pptx VIP
- 2024年甘肃张掖市专业化管理的村党组织书记招聘笔试参考题库附带答案详解.pdf VIP
- 黑布林阅读初三17《足球先生》中文版.pptx VIP
- 人工气道湿化的护理进展1).pdf VIP
文档评论(0)