当前位置: 首页 > wzjs >正文

网站只用css做tab切换浏览器大全

网站只用css做tab切换,浏览器大全,华为企业邮箱,p2p网站的建设自然语言中,一个词可以有多重含义,人们可以通过上下文来判断该词真实的含义,即该词被重载了,函数重载就相当于是定义了同名的函数,且仅限于名字相同 文章目录 前言 一、什么是函数重载? 1.1参数的数量不同 1.2参数的类…

自然语言中,一个词可以有多重含义,人们可以通过上下文来判断该词真实的含义,即该词被重载了,函数重载就相当于是定义了同名的函数,且仅限于名字相同

 

文章目录

 

前言

一、什么是函数重载?

 1.1参数的数量不同

  1.2参数的类型不同

 1.3参数的顺序不同

1.4 重载的条件 

二、为什么有函数重载

2.1直观的命名表达不同功能 

2.2为什么C语言中不支持重载,但是C加加中支持

 

总结


 

 


前言

”重载“ 是一种允许使用相同名称的函数或操作符,但它们的参数列表或返回类型不同,以实现不同功能的机制。以下是关于 C++ 函数重载的详解:


一、什么是函数重载?

函数重载定义 :在同一个作用域内,允许定义多个同名函数,这些函数的参数列表不同,即参数的数量、类型或顺序不完全相同,但函数名相同。就好比在公司里,不同职位的人有可能会重名,但公司里的人或同事可以根据他的职位和部门来区分。

 1.1参数的数量不同

#include<iostream>
using namespace std;
void add(int a, int b)
{cout << a + b << endl;
}
void add(int a,int b,int c)
{cout << a + b + c<< endl;
}
int main()
{add(1, 2);add(1,2,3);return 0;
}

  1.2参数的类型不同

#include<iostream>
using namespace std;
void add(int a, int b)
{cout << a + b << endl;
}
void add(double a, double b)
{cout << a + b << endl;
}
int main()
{add(1, 2);add(1.1, 2.2);return 0;
}

 1.3参数的顺序不同

#include<iostream>
using namespace std;
void add(int a, int b)
{cout << a + b << endl;
}
void add(int a, double b)
{cout << a + b << endl;
}
int main()
{add(1, 2);add(1, 2.2);return 0;
}

1.4 重载的条件 

函数名相同,参数列表不同,返回值类型可以相同也可以不同,但不能仅以返回值类型不同来重载函数。

#include<iostream>
using namespace std;
void add(int a, int b)
{cout << a + b << endl;
}
int add(int a,int b)
{return a+b
}
int main()
{add(1, 2);add(1, 2);return 0;
}

 这样的是不构成重载的:

说白了就是函数名或参数一定要有一个不同,参数的不同,不同在个数以及类型以及类型的顺序


 

二、为什么有函数重载

 

2.1直观的命名表达不同功能 

在设计函数时,有些函数功能类似,如果没有重载的话,就可能需要给不同类型的函数取不同的名字,但是他们的功能都是相似的,比如说,都是加法函数我浮点型相加,要写成整型相加,要写成,而有了重载之后,我们可以使用同一个函数名,"add",让代码变得更加的清晰,让别人看到函数就知道它的功能是什么,提高了代码的可读性

C语言中是判断不了调用哪个函数,但是C++中可以支持这种操作,它会根据传入的参数类型自动匹配所对应的函数

2.2为什么C语言中不支持重载,但是C加加中支持

​​​C:

#include<stdio.h>
void add(int a, int b)
{printf("%d\n", a + b);
}
void add(double a, double b)
{printf("%lf\n", a + b);
}
int main()
{add(1, 2);add(1.1, 2.2);return 0;
}

 

 C++:

 

C语言不支持函数重载的原因之一:

 C语言的函数调用约定是基于函数名的。在编译时,C语言的编译器会根据函数名生成对应的符号(symbol),而不会根据参数类型或数量进行区分。例如,对于函数  void add(int a,int b)  和  void add(double a,double,b)  ,如果C语言支持重载,那么编译器在生成符号时会面临冲突,因为它们的函数名相同。C语言的编译器和链接器无法区分同名但参数不同的函数,因此无法实现函数重载。

C++支持函数重载的原因之一:

C++通过名称修饰(也称为名称修饰符或名称修饰规则)解决了函数重载的符号冲突问题。名称修饰是一种将函数名、参数类型、返回类型等信息编码到符号名称中的机制。例如,对于函数  void add(int)  ,C++编译器可能会生成一个符号如  _Z3fooi  ,而对于  void add(float)  ,可能会生成  _Z3foof  。通过这种方式,C++编译器和链接器可以区分同名但参数不同的函数,从而支持函数重载。

 

 

总结

首先,这篇文章一开始从函数重载的定义入手,从三个方面讲解重载的条件,以及给出了反面例子,其次又说明了为什么有函数重载,并且附加了为什么C语言不支持重载函数,但是C++支持重载函数

 

http://www.dtcms.com/wzjs/240092.html

相关文章:

  • php 做资讯网站网络营销策划是什么
  • 做网站模板在哪儿找百度市场应用官方app
  • 企业php 网站系统百度搜索关键词设置
  • 怎么再各网站上做宣传中国互联网协会
  • 建设网站需要的工具网站运营培训
  • cms网站访问人数seo诊断服务
  • 建个普通网站多少钱网络推广求职招聘交流群
  • 西安网络技术有限公司网站电商中seo是什么意思
  • 学生管理系统网站app推广方式有哪些
  • 如何做公司o2o网站网络推广是什么专业
  • 南阳企业网站建设公司含有友情链接的网页
  • 南宁软件优化网站建设做推广哪个平台好
  • 许昌做网站专业seo外包
  • 检查网站是否做301seo软件工具
  • 赤峰建筑人才网淘宝seo搜索排名优化
  • 名牌网站设计的图片火蝠电商代运营公司
  • wordpress设置固定链接后打不开seo在线培训机构排名
  • 本地搭建多个网站seo推广营销靠谱
  • 电商网站建设常见问题百度官网网站首页
  • ppt做视频模板下载网站有哪些内容如何注册网站免费注册
  • 南宁市做公司网站打开百度一下网页版
  • 怎么做电影网站页面的彩虹云商城网站搭建
  • 华建建设集团网站台州做优化
  • 东凤网站建设app拉新怎么对接渠道
  • 做中英文网站要注意什么营销图片大全
  • 网站建设与推广合肥长沙关键词优化新报价
  • 做装修网站价格小说百度风云榜
  • php网站开发实验报告域名网
  • 企业网站的用户需求分析东莞seo建站咨询
  • 电子商务安全问题 网站权限管理杭州网站建设网页制作