c语言和C++语言的区别

C语言和C++语言的区别是什么呢?这个问题一直很让我困扰。

一开始觉得c语言和C++很相似啊,我学过了c就直接能编写C++程序了,以为我已经掌握两种语言了。后来重新编写c发现各种不适应,这里就来整理一下我理解的两种语言的区别。

首先C++语言不是凭空出现的语言。从名字我们就该知道它和c有着莫大的关系,它是c语言的升级(个人理解)。c本来是一堆函数堆积构成的,但是在进行大的项目开发时代码比较多,重复开发,管理混乱等问题。后来出现了面向对象的思想,于是一帮大牛在c的基础上就编写了很大一部分数据库并制定了一些规则。从而产生了一种新的语言-C++,但是为了保留与c的兼容性。c++也包含了大量c的内容。下面就我遇到的一些情况来进行说明。首先举一个字符输入输出问题。

c语言中没有专门的输入输出函数,而是借用<stdio.h>包含的输入输出函数scanf,printf来进行字符输入和输出。这里在输入时空格和回车都会作为字符输入给对象。

C++也能够调用上述函数,但是c++引入了流的概念。如果学习c++,这个流是非常重要的。但是cin和cout在作为输入输出时,不将空格和回车作为字符输入给对象。

类似的还有string和CString类。有兴趣的可以看看。

总之,c++中引入了很多库,可以让很多开发由库来解决。

C++为什么被称为面向对象的语言。这是因为C++在c的数据结构class的基础上引入了类的概念。类不光包含数据结构还包含函数,也即类具有记忆和行为。类的引入使得C++成为了基于对象的语言。当类进行实例化,实例化的类就是对象。通过调用对象的函数来向对象发送消息,通过类的成员变量来对对象赋值。这时C++就转变成了面向对象的语言。可以说面向对象的语言就是对象+消息。而C程序就是函数+函数。

另外,C++强化了类这个东西。这个c中结构体相似,但是添加了继承,派生,多态和虚拟的概念。类的引入使得程序编程更容易理解。因为整个程序将围绕类这个东西展开,使得整个架构面向对象而更容易被理解。相比较而言,c语言是一系列函数的堆积,往往不具备这个特性。

类的使用使得整个函数仅仅是某个对象的接口或者行为。这样使用使得整个程序看上去更加清晰简单。而c语言则是一堆数据的处理,往往让人摸不到头脑。函数的重载和引用使得函数具有多态性,这样也不必为函数名字不好命名而苦恼。

最后,C++还有一个强大的模板库。这里包含各种容器,链表的东西,使得编程更加的灵活。但是灵活的背后就是更加难以掌握,相比较c语言,个人觉得需要让自己所掌握的库越多,编写程序时才会更加得心应手。



发布了42 篇原创文章 · 获赞 4 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/wangyhwyh753/article/details/79088075