游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7905|回复: 15

C++ 与 C 的区别在哪里?

[复制链接]

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2006-10-24 01:11:00 | 显示全部楼层 |阅读模式
注意:
我之所以这么问,是因为我不知道什么叫“类”。
请不要用 C++ 专用名词来解释,比如像“C++有类,C没有”之类的。

这个问题我问过很多人,他们都说 “C++有类的封装”就没了。
所以我仍然不明白到底 “C++跟C有什么不同”
[em9]

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20737
发表于 2006-10-24 09:35:00 | 显示全部楼层

Re:C++ 与 C 的区别在哪里?

建议去阅读一下《C++编程思想》一类的书籍,里面会有些比较系统的介绍。

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2006-10-24 10:38:00 | 显示全部楼层

Re:C++ 与 C 的区别在哪里?

了解一下 c\c++语言的发展进化历史,你就会明白 c\c++ 为什么会设计成这样了,包括“类”的概念也是一样。任何一项技术的产生都是以解决现实问题为目标的,程序设计语言也是如此,这些术语的背后有很多故事,以及很多发明此项技术的艰难过程,这需要对软件开发有深刻的认识和了解,更重要的是要不断地练习、再练习,理解在理解的过程。

8

主题

716

帖子

716

积分

高级会员

Rank: 4

积分
716
发表于 2006-10-24 10:40:00 | 显示全部楼层

Re:C++ 与 C 的区别在哪里?

推荐你去看C++爸爸写的《C++语言的设计和演化》
里面详细地记载了他在以c为蓝本设计c plus plus语言里的思路历程
don't care about what's the different, just use it.
慢慢在使用中你就会明白

举个简单的例子:
某个Struct X包含了一些数据成员,以及有n个function是针对它的操作函数,像是Create_X和Destroy_X
在c里,应该你可以看到像是
typedef struct _X
{
...
}X;
int Create_X(X *p)
{
...
}
int Destroy_X(X *p)
{
...
}

而在c++中则为
class X
{
  ...     // value members

  X()    // same as Create_X
  {
  ...
  }

  ~X()    // same as Destroy_X
  {
  ...
  }
}

相信你一眼就能够明白为什么说C++更OO(Object Oriented)了
语言作为描述,C++的语义更加一目了然

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
发表于 2006-10-24 11:02:00 | 显示全部楼层

Re:C++ 与 C 的区别在哪里?

C++ 比 C  多个++

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
 楼主| 发表于 2006-10-24 11:13:00 | 显示全部楼层

谢谢 4楼!

果然!
一目了然!

248

主题

2674

帖子

2702

积分

金牌会员

Rank: 6Rank: 6

积分
2702
QQ
发表于 2006-10-24 13:17:00 | 显示全部楼层

Re:C++ 与 C 的区别在哪里?

c 是 c++的设计范本, c++是 c 的创新。
c++ 语法集合不完全包含 c 语法集合,但是也差不多了:)

从应用上讲,c 和 c++应该独立来分析, c 短小精悍,编译器开发容易,可以在很多领域捷足先登,占领先机。 c++ 编译器比较复杂, 但语言丰富强大,制作大型项目有优势,并且很多时候可以保持和 c 差不多的程序运行效率。

java 之流, 精简 c++ 后,提供更统一的开发思路, 减少学习代价, 提供更强大的共享代码机制, 对制作大型程序有帮助, 可惜编译器复杂, 程序效率低下, 适合对程序效率要求不高而对开发效率敏感的场合。

8

主题

553

帖子

560

积分

高级会员

Rank: 4

积分
560
发表于 2006-10-24 15:21:00 | 显示全部楼层

Re:C++ 与 C 的区别在哪里?

区别是从头写一个c compiler,自己还搞得来;可从头写一个c++ compiler,目前还不敢想:-)

12

主题

124

帖子

124

积分

注册会员

Rank: 2

积分
124
QQ
发表于 2006-10-24 20:23:00 | 显示全部楼层

Re:C++ 与 C 的区别在哪里?

简单来讲,C++注重的面向对象的思想,而C则是传统的面向过程的思想。事实上,完全可以认为C++和C是毫无关系的,不过碰巧C++包含了C的语法而已,C++与C是完全不同的两种语言。

0

主题

202

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
发表于 2006-10-24 23:59:00 | 显示全部楼层

Re:C++ 与 C 的区别在哪里?

队的, 多了一个++ ;)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 10:41

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表