- 1、本文档共76页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象技术与C第二章
C++语言概述 目标 掌握C++的构成 在面向过程方面与C语言的兼容与扩充 内容 C++的起源和特点 C++源程序的构成 C++在非面向对象方面的一些特性 C的起源和特点 C是1972年由Denuis Richie在贝尔实验室设计的一个通用目的的程序设计语言 特点 结构化的程序设计语言 反映了设计者追求高效、灵活和强功能的设计思想 可以部分地取代汇编语言 具有较高地可移植性 提供了种类丰富地运算符和数据类型 缺点 类型检查机制相对较弱 本身几乎没有支持代码重用的机制 不适合于开发大型程序 C++的起源 为了兼容C,1980年贝尔实验室的Bjarne Stroutrstrup 博士及其同事设计了C++ 特点 C++保持与C兼容 C++编写的程序可读性更好,代码结构更合理 使得软件的可重用性、可扩充性、可维护性和可靠性等方面有所提高 支持面向对象机制,可方便地构造出模拟现实问题的实体和操作 C++源程序的组成 C++程序的一般格式(详见样例程序) 程序的运行 结论:书写的格式和C基本上没有什么区别 C++源程序的组成 C++程序是用C++写成的,该源程序的后缀名应为.cpp C程序使用C编译器 C++程序使用C++编译器 选择使用哪个编译器是由程序的后缀名决定的 C++在非面向对象方面的一些特性 注释行 新的I/O流 灵活的局部变量说明 结构、联合、枚举名可直接作为类型名 const修饰符 内置函数 函数原型 带有缺省参数的函数 函数重载 C++在非面向对象方面的一些特性 作用域运算符“::” 无名联合 强制类型转换 new和delete 引用 注释行 以“//”开始的注释内容只在本行起作用(C++特有的) 以“/*….*/”方式的注释为其之间的所有内容,C++中不允许/*…*/嵌套使用 例: /* this is a /* comment */ line */ 新的I/O流 C语言提供的printf( )和scanf( )的不安全性 C++提供了更安全和更方便的I/O方法 新的I/O流 运算符“”允许用户连续输入一连串数据,并存入对应的变量中 如:cinabc 运算符“”允许用户连续输出一连串数据 如:couta+bc; 使用cin或cout时,在程序中必须嵌入头文件iostream.h;否则,编译报错 在C中,常用’\n’实现换行,C++中增加了换行控制符endl,其作用与’\n’一样 可参考P81 新的I/O流 使用cout,cin输入输出数据时,全部使用了系统缺省的格式 程序的运行 当使用过一次非十进制的符号后,以后的输入输出都是以最近使用过的基制来决定 灵活的局部变量说明 C和C++的区别 C中不允许将局部变量放在可执行代码之后 C++则允许局部变量声明可放在任何地方 灵活的局部变量说明 变量说明地点的建议:在大函数中,在最靠近使用变量的位置说明变量较为合理;在较短的函数中,把局部变量集中在函数开始出说明较好。 结构、联合、枚举名可直接作为类型名 结构、联合、枚举名可直接作为类型名 const修饰符 让我们假设下面的情形可能就出现在你的程序中: const修饰符 也许因为你的粗心,你的程序中出现了下面的语句: 解决这个问题的两个方法: #define bufSize 512 const int bufSize=512; const修饰符 const修饰符 const修饰符 const和define的区别 define只是使用了“符号替代”这样一个简单的思路,它不能代表任何别的意义 const定义的常量是有类型意义的 const定义的常量可以让C++的编译程序方便地检查类型信息的错误 const的作用与define定义常量的作用相似,但是const取代不了define所提供的功能 const是真正的常量,而define则不是常量,是符号替换 参看样例程序2_3 运行程序 const和define的区别 程序中的D1和D2分别如下形式替换: 程序中的C1和C2分别代表初始赋的值2和0 const和指针 const用来修饰指针变量所指向的内容 const用来修饰指针变量自身 const对上述两方面内容同时修饰 const的用途 const用来修饰指针变量所指向的内容 形式:const int *p; 效果:const冻结了指针变量p所指向的内容,即不能通过指针变量来修改所指向的内容 const用来修饰指针变量自身 形式: 效果:const冻结了指针变量自身,即指针变量不能再指向别的变量 通过*p更改变量var的值是可能的,即*p=6是合法的 请想一想下面的定义正确吗? const对上述两方面内容同时修饰 形式: 效果:const冻结了指针
文档评论(0)