- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1章C言概述
课程名称: C++程序设计
教材: C++语言基础教程
出版社: 清华大学出版社
作者: 吕凤翥
C++语言概述
C++是一种多范型的程序设计语言,它既支持面向过程的程序设计,又支持面向对象的程序设计。
C++是C的超集,C++对C进行了改进和扩充,有些机制并不完全相同。
面向对象程序设计的基本思想
1.面向过程的程序设计(POP)
面向过程的程序设计是一种基于功能分析的﹑以算法为中心的程序设计方法。
例如:定义一个“*”的过程。
3
15 只能接收数据
5
因为功能的多变性和算法的不唯一性,增加了程序的维护和测试的工作量。统计表明,维护费用占总费用的70%,而维护费用中的65.4%是由于使用环境和用户需求的变化而引起的。由此引起了日趋严重的“软件危机”。
2.面向对象的程序设计(0OP)
面向对象的程序设计是一种基于结构分析的﹑以数据为中心的程序设计方法。
对象
面向对象系统三要素 类
继承
1)对象
在面向对象的程序中,活动的基本单位是对象,对象是系统中的一个实体。它是一个实体的属性(数据)和行为(方法)的封装体。向对象发送消息可以激活对象的行为。所以面向对象的程序为:
对象+消息传递
例如一个整数类创建一个整数对象5,这个对象具有+、-、×、÷等行为。
3+ 8 3× 15
接收消息的对象
消息一般应包括 需要执行的操作
所传递的参数
从程序设计语言学的角度,对象是抽象数据类型的实现,是以外部观点来描述数据的类型,即不再关心数据的结构式是什么,而仅关心它具有什么功能(方法)。从而较好地实现了信息隐蔽原则。
信息隐蔽是指一个实体的细节部分对用户隐藏起来,用户只能通过一个受保护的接口来访问,因而这种软件具有较好的稳定性。
2)类
类是面向对象程序设计实现信息封装的基础。类是一种用户定义的复杂数据类型,它是将不同类型的数据和与这些数据相关的操作封装在一起的集合体。
外部接口
类的完整描述包括 内部算法
数据结构描述
类的实例就是对象。
3)继承
继承是面向对象程序设计中软件重用的关键技术。继承机制使用已经定义的类作为基础建立新的类定义,新的类是原有类的数据﹑操作和新类所增加的数据﹑操作的组合。
新的类把原有类作为基类引用,而不需要修改原有类的定义。新定义的类作为派生类引用。这种可扩充﹑可重用技术大大降低了大型软件的开发难度和维护费用。
C++与C语言的关系
C++保持与C的兼容。
C++对C语言作了很多改进。
增加了一些新的运算符,例如:
::,new ,delete , .* , -* 等。
改进了类型系统,增加了安全性。
引进了引用概念,使用引用作函数参数带来了很大方便。
允许函数重载,允许设置缺省参数,引入了内联函数。
对变量的说明更加灵活了。
C++与C有本质的区别。
C++程序结构的特点
1.3.1 一个简单的C++程序
问题:输入圆的半径,求圆的周长和面积。
方法一:用面向过程方法编程。
#includeiostream.h
void main()
{ float r,girth,area;
const float pi=3.1415;
cout”Please input radius:\n”;
cinr;
girth=2*pi*r;
area=pi*r*r;
cout”radius=”rendl;
cout”girth=”girthendl;
cout”area=”areaendl;
}
运行后:
Please input radius:
6.23
radius=6.23
girth=39.124410
area=121.872505
方法二:用面向对象方法编程
#includeiostream.h
class Circle
{ public:
void Set_Radius(float r){radius=r;}
float Get_Radius(){return radius;}
float Get_Girth(){return 2*3.14*radius;}
float Get_Area(){return 3.14*radius*radius;}
private:
float radi
文档评论(0)