c++比c多了两个加号,顾名思义,就是在C的基础上又加了一些面向对象的东西,学习C++还是有难度的,呵呵
程序代码:
面向对象与面向过程: 一切的程序都是有实现的过程. 在计算机里,对象也只是一种数据的形式存在,对象本身也是由逻辑的数据构成,是由程序员按照合理的算法和对数据的操作完成,所以对象本身也属于“过程的产物”。 一些人认为,如要从事软件开发,举例说要用C++来生产软件,倒不如直接C++的学习,不必从C语言学习。但有前辈都说过,只有C语言的高手,其他的语言是不存在高手这一说法。c语言是面向过程的语言。其实一切程序的设计都是面向过程,因为这就是程序员的工作。刚接触C++这一东东的时候,很多人都会让面向对象开发这一句话吓倒,所以在网上很多人都问“面向对象与面向过程的区别”。面向过程很容易理解,就是逐步去分析功能,然后逐步去实现,依次调用的过程。那么什么叫面向对象?所谓的面向对象现在都没有一个明确的解答。 举一个狭隘的例子:比如小明的菜刀,他就是一个集功能与属性一身的对象,功能上他可以切菜,属性上他是铁的或不锈钢的,长多少,重多少,锋利度如何、什么牌子,什么年产的、谁拥有的....。现在程序员要写一个程序来造出这把刀,就要抽象出数据了,面向对象的意愿就是突出这把刀的功用,而不必去管他的属性,因为他写出来是让别人用的。所以对于程序员来说,功能要让别人知道,就要写接口了,属性别人可以查,也可以写接口,但他的属性最多只能让你看而不是让你是修改(属于private),又或者甚至你根本没有资格去查看他的属性。等等,这样说似乎很容易,但这样说只是在大的概念上去告诉你要做什么,而这,就是面向对象的思想。 在多人合作完一个项目的时候,会有人在写这些底层的接口,就是便于大家协作。比如程序员A与C都要使用一把刀来切一个苹果和一个萝卜。他们不需要再重新各自己再去写一把刀A1与C1,只需要拿程序员B的写好的刀(或者你可以用这把刀排生出来其他类型的刀)来用就行了。 但作为程序员,在实际去写程序的时候,如果你只是这样想,是远远不够的,因为程序是要实实在在的写下来,并高效运行。只会上面概念的想的人那是策划(或者是架构),不是程序员的主要工作。程序的实现就是属于面向过程式的开发,面向对象思想的指导。过程与C语言一样,包括我们有要用合理高效的算法,要用合适的存储方式,来写他的功能和属性,,然后写出借口,除接口外的调用,其他的数据绝不让别人干扰,最后这才能完成这把刀,所以C语言基础是相当的重要的。 面向对象,广义来说是种思考方式,他能使工作有步骤,而不致于使程序看起来复杂、往后难以维护,而面向过程是实现这一步骤的保证。狭隘就是把事物抽象出要处理的数据,封装,接口,并有可能的使这个事物派生出多种特性的数据,但相互不影响。(好比做一辆自行车,把所有的零件单独作为一个类,然后派生出来自行车所需要的对象。然后组装,为什么要说类呢?比如车轮,因为不单自行车有轮,汽车,火车也有轮,车轮也就是个类,自行车的轮就是个实例。)