快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

c语言函数重载支持吗 c语言支持函数重载

c++和c语言的区别

c++和c语言的区别:

专注于为中小企业提供网站设计制作、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业黄埔免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

1、关键字

蓝色标注为C语言关键字,C++继承了C语言的所有关键字,以下红色标注为C++中含有但C语言没有的关键字(根据c++98中提出C++包含63个关键字)。

2、源文件区别

C语言文件后缀为c,c++原文件名后缀为.cpp。

如果在创建源文件时什么都不给,默认是.cpp。

3、返回值不同

C语言中,如果一个函数没有指定返回值类型,默认为int类型,并返回一个随机数,一般为0XCCCCCCCC。

在C++中,如果函数没有返回值则必须指定为void型,否则编译不能通过。

4、参数列表

在C语言中,函数没有指定的参数列表时,默认可接收任意多个参数。

在C++中,有严格的参数类型检测,没有参数列表的函数,默认为void,不接收任何参数。

5、C++支持函数重载,C语言不支持

在实际开发中,有时候我们需要实现几个功能类似的函数,只是有些细节不同。

例如希望交换两个变量的值,这两个变量有多种类型,可以是int、float、char、bool等,我们需要通过参数把变量的地址传入函数内部。

在C语言中,程序员往往需要分别设计出三个不同名的函数,其函数原型与下面类似:

void swap1(int*a,int*b);//交换int变量的值。

void swap2(float*a,float*b);//交换float变量的值。

void swap3(char*a,char*b);//交换char变量的值。

void swap4(bool*a,bool*b);//交换bool变量的值。

但在C++中,这完全没有必要。C++允许多个函数拥有相同的名字,只要它们的参数列表不同就可以,这就是函数的重载(Function Overloading)。借助重载,一个函数名可以有多种用途。

6、指针和引用

C语言中函数传参方式有两种:传值和传址。

以传值方式,在函数调用过程中会生成一份临时变量用形参代替,最终把实参的值传递给新分配的临时形参。

它的优点是避免了函数调用的副作用,却无法改变形参的值。如果要改变实参的值,只能通过指针传递。

指针可以解决问题,但是不安全,因此在C++中引入了引用。

7、命名空间

在C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称将都存在于全局命名空间中,会导致很多冲突,使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或者名字污染,namespace关键字的出现就是解决这种问题。而C语言中没有。

8、输入与输出

cout代表c++的输出流。

cin代表c++的输入流。

它们都是在头文件“iostream”中定义。

“cout”必须与””一起使用,“”起到插入的作用。

在一条语句中可以多次使用“”输出多个数据。

C语言里的函数是否可以进行重载吗?

标准C, 不支持函数重载。

函数重载是C++的概念。 不光是类的成员函数, 一般函数以及模板函数都是可以重载的。

C语言支持函数重载吗

C语言是不支持函数重载的,但是C++是可以的,这是C++对C的一个重要扩展。


当前名称:c语言函数重载支持吗 c语言支持函数重载
标题URL:http://6mz.cn/article/doscsdc.html

其他资讯