C++语言是由C语言发展而来的,C语言是一种结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入或环境条件进行运算处理得到输出或实现过程(事务)控制。而对于C++,首先要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。而Visual C++是一个集成环境,通过该环境,可以用C或者C++进行编码。本节将讲述C、C++与Visual C++之间的区别。
C与C++的最大区别在于它们解决问题的思想方法不一样,即它们在程序设计思想上不同。之所以说C++比C更先进,是因为“设计这个概念已经被融入到C++之中”,而就语言本身而言,在C中更多的是算法的概念,但是C是C++的子集。从上文可以看出,C实现了C++中过程化控制及其他相关功能,而在C++中的C,相对于原来的C还有所加强,引入了重载、内联函数、异常处理等概念,C++更是拓展了面向对象设计的内容,如类、继承、虚函数、模板和包容器类等。
再深入一点,在C++中,除了考虑数据封装、类型问题以外,还需要考虑诸如对象粒度的选择、对象接口的设计和继承、组合与继承的使用等问题。所以相对于C, C++包含了更丰富的“设计”的概念,但C是C++的一个自洽子集,也具有强大的功能,同样值得学习。
C++是一门编程语言,其本身是独立的,不依赖于任何平台、操作系统、工具等。类似的还有C语言、Java语言、Basic语言、Pascal语言等,它们都被称为高级语言。
但是计算机不可能像人一样思考和讲话,它只能处理0、1代码,也就是所谓的机器语言,而作为程序员显然不可能天天用机器语言来编写程序,此时就需要一个工具来将高级语言所写的代码翻译成机器语言供计算机执行。Visual C++就是这样一个工具,类似的工具还有很多,像C++Builder、Turbo C等。这些工具又不仅仅是一个翻译的工具,而是一个集成的开发环境,提供了漂亮的编程界面、很多支持和帮助,以及丰富的类库供程序员调用。
因此可以说,C++是一门编程语言,而Visual C++则是基于编程语言(C/C++)的开发工具。