函数重载 && 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>引用与指针的比较

@引用只是一个变量的别名,并没有独立的空间,指针是一个变量具有自己 的空间。
@引用不可以为空,必须在创建的时候初始化,指针可以为空,可以在任何时候初始化。
@指针有多级指针,引用只有一级。
@指针的值可以改变,但是引用一旦初始化,就无法再改变 。
@sizeof(引用)=对象的大小,sizeof(指针)=指针的大小 。
@引用++,表示对象++,指针++,表示下一个地址
 

 

5>常引用

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

const  int & a=b;

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值