C++语言学习(一)——C++简介

一、C++简介

C 语言作是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言并不合适。为了解决软件危机, 20世纪80年代, 计算机界提出了OOP(object oriented programming)思想,支持面向对象的程序设计语言应运而生。Smalltalk 就是当时问世的一种面向对象的语言。在实践工作中,由于C语言的广泛使用,在C语言的基础上根据面向对象的思想发展了C语言,形成了C with class (带类的C语言)。
1982年,美国AT&T公司贝尔实验室的Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一种新的程序语言。为了表达该语言与C语言的渊源关系,命名为C++,而Bjarne Stroustrup博士被尊称为C++语言之父。
C++是C语言的加强,是以C语言为基础,并完全兼容C语言的特性。
计算机语言发展的树形结构:
C++语言学习(一)——C++简介_第1张图片

二、C++的应用领域

C++语言主要用于以下领域:
A、系统层软件开发
B、服务器程序开发
C、流戏,网络,分布式,云计算
D、科学计算
现代软件产品架构图:
C++语言学习(一)——C++简介_第2张图片

三、C++语言的内容

C++语言是在C语言基础上扩展发展而来,完全兼容C语言。在C语言基础上,C++语言主要包括三大部分:C++对C语言基础语法的扩展,面向对象支持(继承,封装,多态),STL等。
C++语言学习(一)——C++简介_第3张图片

四、C++对C语言的增强

C语言是一个结构化语言,重点在于算法与数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事物)控制)。C++首要考虑的是如何构造一个对象模型,让构造的模型能够契合与之对应的问题域,通过获取对象的状态信息得到输出或实现过程(事物)控制。所以C语言和C++的最大区别在于解决问题的思想不一样,C语言是面向过程的语言,C++是面向对象的语言。
C++对C的增强表现在六个方面:
(1) 类型检查更为严格。
(2) 增加了面向对象的机制。
(3) 增加了泛型编程的机制(Template)。
(4) 增加了异常处理。
(5) 增加了运算符重载。
(6) 增加了标准模板库(STL)。