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++语言主要用于如下领域:
A、系统层软件开发
B、服务器程序开发
C、流戏,网络,分布式,云计算
D、科学计算
现代软件产品架构图:编程
C++语言是在C语言基础上扩展发展而来,彻底兼容C语言。在C语言基础上,C++语言主要包括三大部分:C++对C语言基础语法的扩展,面向对象支持(继承,封装,多态),STL等。服务器
C语言是一个结构化语言,重点在于算法与数据结构。C程序的设计首要考虑的是如何经过一个过程,对输入(或环境条件)进行运算处理获得输出(或实现过程(事物)控制)。C++首要考虑的是如何构造一个对象模型,让构造的模型可以契合与之对应的问题域,经过获取对象的状态信息获得输出或实现过程(事物)控制。因此C语言和C++的最大区别在于解决问题的思想不同,C语言是面向过程的语言,C++是面向对象的语言。
C++对C的加强表如今六个方面:
(1) 类型检查更为严格。
(2) 增长了面向对象的机制。
(3) 增长了泛型编程的机制(Template)。
(4) 增长了异常处理。
(5) 增长了运算符重载。
(6) 增长了标准模板库(STL)。网络