文档详情

面向对象程序设计及C++ 教学课件 作者 朱立华 朱建 俞琼 第2章_C++对C的改进及扩展.ppt

发布:2017-08-15约2.23万字共85页下载文档
文本预览下载声明
Basic of Basic 面向对象程序程序设计及C++ 主讲: 第2章 C++对C的改进及扩展 本章作业 作业本:P49~53页:一、二、三、四、五(2、3) 本章内容提要 新增的I/O控制方法及单行注释方法 const的灵活应用 在类型上的变化与增加 函数的新用法和要求:原型声明、内联函数、函数重载、默认参数值 新增引用的灵活应用 更加方便的动态内存空间的管理 异常处理的机制和方法 本章内容安排 2.1 新的输入/输出及注释方式 2.2 独具魅力的const修饰符 2.3 有关类型的区别 2.4 有关函数的区别 2.5 新增引用的灵活运用 2.6 动态内存空间管理 2.7 C++的异常处理 2.8 本章小结 2.1.1 C++的I/O流实现输入/输出 通过例2.1理解C++更为方便的输入输出控制方式 【例2.1】C++语言风格与C语言风格的源程序举例。 /*C语言风格的源程序li2_1.c,读入几个变量,运算后输出*/ #include stdio.h void main( ) { char c; int a; /*定义变量c、a、f */ float f; scanf(%c%d%f,c,a,f); a=a+c; f=f+2*a; printf(c=%c a=%d f=%.1f\n,c,a,f); } 2.1.1 C++的I/O流实现输入/输出 对li2_1.c和li2_1.cpp这两个不同风格的程序,编译链接后, 若输入:A 25 100.1回车 则输出均为:c=A a=90 f=280.1 比较li2_1.c和li2_1.cpp两个程序,有以下几个区别。 C++源程序的扩展名为.cpp,而C源程序的扩展名是.c。 C++源程序中用cin和cout处理输入/输出,而C源程序中用scanf 和printf处理输入/输出 C++源程序中增加了一种以//开头的单行注释方式。 2.1.1 C++的I/O流实现输入/输出 C++语言用自己定义的流类库取代C语言中的输入/输出库,更安全,使用时需要掌握以下几点: 必须用#include iostream及using namespace std;或用#include iostream.h作文件包含。 cin是C++语言中的标准输入流,代表标准输入设备,即键盘; cout是C++语言中的标准输出流,在程序中用于代表标准输出设备,通常指显示器。 运算符“”此时表示是流运算符,后面只能跟变量,表示把从输入流读取的数据传送给运算符“”右边指定的变量。利用 “”允许用户输入一连串的数据依次给各个变量,两个数据间以空白符(空格、回车、Tab键)分隔,故这种方式不能读入含有空格的字符串 2.1.1 C++的I/O流实现输入/输出 运算符“”在此时表示是流运算符,后面可以跟常量、变量、表达式,表示将运算符“”右边的值写到输出流中,通常表现为显示在显示器屏幕上或写入到磁盘文件中。 例程中用cin和cout输入/输出数据时,全部使用了系统默认的格式,实际上可以利用操纵符进行格式控制,具体见第7章。 C++中新增加了一种换行控制符endl,与C语言中常用的’\n’等效,实现输出时的换行。 例如下面两条语句的执行效果完全一样: couta=aendl; 和 couta=a\n; 2.1.2 新增的单行注释 li2_1.cpp中出现了一种以“//”开始的注释方式 C++语言新增加单行注释方式“//” ,其注释内容是从“//”开始到本行结尾,只对单行有效,这种注释方式特别适合于注释内容不超过一行的情况。 C++语言仍支持C语言的提供的/*…*/的注释方式,通常用于进行注释内容为多行的情况。 某些情况下两种注释方式可以嵌套 2.1.3 名字空间 C++语言提供名字空间(namespace)防止命名冲突。 1、名字空间的定义 (1)定义形式:namespace 名字空间名称 { … ; } (2)关于名字空间定义的说明: 定义名字空间以关键字namespace开头,名字空间名称是合法的用户自定义标识符。 以一对大括号括起该名字空间的开始和结束处,右大括号后面不加分号。 在名字空间以外声明或定义的任何实体,都可以出现在名字空间内。 2.1.3 名字空间 2、名字空间中内容的使用 方法一:在需要使用名字空间中内容时用下面的形式:名字空间名称::局部内容名,其中的“::”称为域解析符或作用域运算符,用来指明该局部内容来自于哪一个名字空间,从而避免命名冲突。 方法二:在使用该内容之前用:using namespace 名
显示全部
相似文档