c与c++的区别

1、两者最主要的区别在于编程思想上。

c是一个结构化编程语言,注重的是过程,通常用于实现数据结构和算法。c语言通常注重的是给定一个输入,如果通过一个过程来给出一个输出。

而c++则有面向对象的思想,是一个自顶向下,逐步求精的过程。


2、从语言角度来看,c是c++的子集。

c++是带类的c,c++具有面向对象的过程。但是c中不具备面向对象的思想。c++在c的基础上引入了函数重载、类、模板、容器等。


3、c中的struct与c++中的class的区别

c中struct只能用于定义复杂数据类型的关键字,不能再c的struct中放函数。并且c中的struct不能设定访问权,根本没有访问权限这一说。

c++中class可以放复杂数据类型,也将函数定义在类内。并且可以通过public、private、protected来设定成员的访问权限。


4、c++中struct与c++中class的区别

c++中struct出了与c++中class默认访问权限不同之外,其他两者都是相同的。c++中struct的默认访问权限是public的,class默认是private的。其他的继承、虚函数等两者相同的。


5、c中的函数编译方式与c++中函数编译方式不同

对于一个函数,c只是根据函数名进行编译,c++中是根据函数名和函数形参类型进行编译的。因此c中的函数不支持重载,c++中函数支持重载。如下两个函数:

void func(int ,int);

void func(int);

这两个函数在c中都被编译为_func_的新名字,从而引发二义性错误。

在c++中两个函数分别被编译为_func_int_int_和_func_int_这两个函数名。他们在内核中是两个不同的函数,因此c++中函数允许重载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值