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

你学过i++呀,C++就是C自增后的结果。不过又有人说应该是++C。
我真想给你几脚`~~!你赶紧滚一边去~~!
你丫还要点脸不~!
不会别在这里嚯嚯人不行>>?!
2011-10-08 16:45
离开天空的云
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:110
专家分:198
注 册:2011-8-12
收藏
得分:2 
回复 6楼 TonyDeng
强贴!
2011-10-08 17:44
cosam
Rank: 4
等 级:业余侠客
帖 子:146
专家分:259
注 册:2011-8-25
收藏
得分:0 
``~~`
```
```
``
图片附件: 游客没有浏览图片的权限,请 登录注册

我去查了一下。。。
呵呵,淡定,淡定~~

[ 本帖最后由 cosam 于 2011-10-8 17:51 编辑 ]
2011-10-08 17:50
黄昏乐章
Rank: 2
来 自:青岛
等 级:论坛游民
帖 子:73
专家分:25
注 册:2011-6-6
收藏
得分:2 
12楼的发言好啊学习了
2011-10-08 18:25
快速回复:我想知道C与C++有什么不同?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035719 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved