函数重载 && c++中引用类型

1,函数重载 

1>基本概念:

函数重载是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数、类型、顺序)必须不同,常用来处理实现功能类似数据类型不同的问题。

即就是将一个函数名字重复使用,用参数列表来区分各个函数的不同,并在调用时通过不同点进行选择调用,并不考虑函数返回值类型的异同。

两个函数发生函数重载,前提条件是必须在同一作用域内。

2>为什么要有函数重载

在实现某一个函数功能时,比如得到两个数的和,这两个数可能都是整形,也可能都是浮点型 ,这时候可以定义两个同名函数 。

int Add(int a, int  b);

float Add(float a ,float b);

当用户在使用时就不用考虑类型,只需要调用Add函数并传入指定的实参就好了。

下面举一个函数重载的例子

#include<iostream>
using namespace std;

int Add(int a,int b)
{
  return a+b;
}

float Add(float a,float b)
{
  return a+b;
}



int main ()
{
   cout<<Add(1,2)<<endl;
   cout<<Add(1.2f,3.4f)<<endl;

}

2,c++中的引用类型

1>为什么要有引用类型

在c语言中,有传值和传地址两种传参方式,

传值会占用很大空间,并且是创建临时变量,不能操作变量。

传指针虽然不用创建临时变量,但是还是创建了指针变量,也浪费了空间。

那么有没有一种方法不用创建变量也能通过传参的方式对变量进行操作。

2>引用的概念

引用是对某个目标变量取了一个“别名”,对这个“别名”操作就等于对目标变量的操作,

并且创建这个“别名”不会占用任何的空间

3>引用的特点

必须在声明的时候初始化

一个别名一旦被引用,就不能被其他的变量引用

4>引用与指针的比较

在函数传参时 ,引用和指针可以完成同样的工作,

但是指针需要创建临时指针变量,并且在访问变量时需要->的方式,降低了代码的可读性

引用既可以满足指针的高效,又可以使代码变得清晰,可读

5>常引用

如果想保护引用的变量不被修改,可以使用常引用

const  int & a=b;

猜你喜欢

转载自blog.csdn.net/wm12345645/article/details/80681188