第02章_C++(非类部分)对C的扩充.ppt

第02章_C++(非类部分)对C的扩充.ppt

ID:48169273

大小:134.50 KB

页数:26页

时间:2020-01-16

第02章_C++(非类部分)对C的扩充.ppt_第1页
第02章_C++(非类部分)对C的扩充.ppt_第2页
第02章_C++(非类部分)对C的扩充.ppt_第3页
第02章_C++(非类部分)对C的扩充.ppt_第4页
第02章_C++(非类部分)对C的扩充.ppt_第5页
资源描述:

《第02章_C++(非类部分)对C的扩充.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2.1I/O操作2.2强类型机制2.3引用2.4内联函数2.5指针2.6操作字符串数据的标准函数库2.7块内的说明2.8new和delete运算符2.9作用域访问运算符::2.10const的扩充作用2.11函数重载2.12参数个数不定的函数通常C++编译系统(例如IDE)可以根据文件的扩展名来区分C和C++:是.C的认为是C程序,.CPP的是C++程序。C++是C的超集,掌握C是掌握C++的先决条件。C++中超出C的部分主要是面向对象的程序设计,也是产生C++的根由。但是C++非类部分对C的语法也作了扩充和很少的“更新”,

2、例如C语言允许一个全局变量多次定义,C++中则会引起错误。2.1I/O操作C++完全支持C的I/O函数集,但C++的I/O类库和I/O操作内容也很多,需要分阶段逐步去掌握。这里先举两个简单的实例:C++中的out<<相当于C中的输出函数printf();C++中的cin>>相当于C中的输入函数scanf()。//C++中使用cin和cout举例main(void){charstr[80];cout<<"enterastring:";cin>>str;//readastring}C++是强类型的,在C中不强制使用原型化函数,在

3、C++中这一要求是必须的、强制的,所有函数必须使用原型。C++可以在函数原型中采用默认值,例如:fn(intx,floaty=1.0,intz=3);默认的值必须从右到左敷值起,下面的例子是非法的:fn(intx,floaty=1.0,intz);当调用函数时,默认的值也要从右到左计算起。如果函数原型为:fn(intx,floaty=1.0,intz=3),则调用fn(1,2)相当于调用fn(1,2.0,3)。2.2强类型机制引用作为对象的别名而使用,对引用的改动实际是对对象的改动。当建立引用时,程序用另一个变量或对象名字初

4、始化它。引用的声明形式为<类型标识符>&引用名=对象名或<类型标识符>&引用名=对象名其中:(1)引用名必须遵循变量的命名规则。(2)前面的数据类型就是它所引用对象的数据类型。引用不是值,不占存储空间,声明引用时,对象的存储状态是不会改变的。2.3引用//例2-1EX2_1.cpp演示“引用”的用法#include"iostream.h"voidswap(int&a,int&b);//a、b定义为引用参数main(void){intx1=10,x2=20;cout<

5、(x1,x2);//交换所引用的变量的值cout<

6、x2;//等效于x1=x2(不是x2的地址)cout<<""<<类型标识符><内联函数名>(形参表){函数体}2.4内联函数//例2-3EX2_3.cpp内联函数#include#includeinlineintmax(inta,intb)//定义内联函数{if(a>b)returna;else

7、returnb;}voidmain(){inta,b,c,d;a=210;b=150;c=20;d=max(a,b);//编译时被替换为max函数体语句d=max(d,c);//编译时被替换为max函数体语句cout<<"Thebiggestof"<<""<

8、:y=2+3*2+3=11≠25。上述错误产生后较难跟踪,使用内联函数可以避免这种隐患。[注意]控制结构不能放在内联函数中!2.5指针1.指针的基本操作与指针有关的基本运算符有以下两个:(1)&变量名&为取地址运算符,用来获取变量的首地址。(2)*指针变量名*为指向运算符,用来获取指针变量

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。