位置:首页 > 高级语言 > C++教程 > C++语言与C的区别和联系

C++语言与C的区别和联系

有关C语言C++的区别,请参考下表 -

序号 C语言 C++语言
1 C语言遵循程序性风格编程。 C++是多范式。 它支持程序和面向对象。
2 C语言中的数据的安全性较低。 在C++中,您可以对类成员使用修饰符,以使其对外部用户不可访问。
3 C语言遵循自上而下的方法。 C++遵循自下而上的方法。
4 C语言不支持函数重载。 C++支持函数重载。
5 在C语言中,不能在结构中使用函数。 在C++中,可以在结构中使用函数。
6 C语言不支持引用变量。 C++支持引用变量。
7 在C语言中,scanf()和printf()主要用于输入/输出。 C++主要使用流cin和cout来执行输入和输出操作。
8 在C语言中操作符不可能重载 在C++中操作符重载是可以的。
9 C语言程序分为程序和模块 C++程序分为函数和类。
10 C语言不提供命名空间的功能。 C++支持命名空间的特性。
11 在C语言中异常处理不容易。它必须使用其他函数执行。 C++使用Try和Catch块提供异常处理。


C/C++的联系:

    C++是C的超集,兼容大部分C的语法的结构;
    联系嘛我只能想到这个,毕竟cplusplus嘛!

C/C++区别:

    第一点就应该想到C是面向过程的语言,而C++是面向对象的语言,一般简历上第一条都是熟悉C/C++基本语法,了解C++面向对象思想,那么,请问什么是面向对象?

    C和C++动态管理内存的方法不一样,C是使用malloc/free函数,而C++除此之外还有new/delete关键字;(关于malooc/free与new/delete的不同又可以说一大堆,最后的扩展_1部分列出十大区别);

    接下来就不得不谈到C中的struct和C++的类,C++的类是C所没有的,但是C中的struct是可以在C++中正常使用的,并且C++对struct进行了进一步的扩展,使struct在C++中可以和class一样当做类使用,而唯一和class不同的地方在于struct的成员默认访问修饰符是public,而class默认的是private;

    C++支持函数重载,而C不支持函数重载,而C++支持重载的依仗就在于C++的名字修饰与C不同,例如在C++中函数int fun(int ,int)经过名字修饰之后变为 _fun_int_int ,而C是
    _fun,一般是这样的,所以C++才会支持不同的参数调用不同的函数;

    C++中有引用,而C没有;这样就不得不提一下引用和指针的区别(文后扩展_2);

    当然还有C++全部变量的默认链接属性是外链接,而C是内连接;

    C 中用const修饰的变量不可以用在定义数组时的大小,但是C++用const修饰的变量可以(如果不进行&,解引用的操作的话,是存放在符号表的,不开辟内存);

    当然还有局部变量的声明规则不同,多态,C++特有输入输出流之类的,很多,下面就不再列出来了。