c++重载/指针/引用
1、重载
函数名相同,参数不同(类型、数量)。返回值不同不能重载。
如下:
int add(int a, int b)
{
cout<<"add int+int"<<endl;
return a+b;
}
int add(int a, int b, int c)/* 数量不同 */
{
cout<<"add int+int+int"<<endl;
return a+b+c;
}
double add(double a, double b)/* 类型不同 */
{
cout<<"add double+double"<<endl;
return a+b;
}
2、指针
同c语言一样
3、引用
3.1、什么是引用
引用就是一个对象的别名,这就相当于一个人的名字一样:有一个身份证上的名字,另外别人可以给你取多个日常生活经常使用的小名。
3.2、引用的表示方法
定义引用的表示方法与定义指针类似,只是用&替代*。引用只是一个对象的别名,不会单独分配内存空间,对引用的操作和对变量的操作一样。格式为:类型 & 引用变量名 = 已定义过的变量名。
3.3、引用说明
a,声明引用时必须初始化,且之后不能改变。
b,不能建立数组的引用,因为数组是一个若干个元素组成的集合,所以无法建立一个数组的别名。
c,对引用求地址,就是对目标变量求地址。
例子1:
int i = 5;
int j = 6;
int &k = i;
k = j; // k和i的值都变成了6;
例子2:引用传递
void Swap (int& left, int& right)//使用引用的话,不做临时拷贝,&的使用说明此处只是原参数的另一个名字而已,所以修改时直接在原参数的基础上修改变量值。
{
int temp = left;
right = left ;
left = temp ;
}