函数的重载:
函数的重载是指同一个函数名可以对应多个函数实现。
函数的重载从参数上可以分为两类:1.参数类型上不同的重载函数。
eg:
{
int add(int a,int b);
double add(double a,double b)
. . .
. . .
}
2.参数个数上不同的函数重载:
eg:
{
int add(int a,int b)
int add(int a,int b,int c)
int add(int a,int b,int c,int d)
. . .
. . .
}
////////////////////////////////////
引用:
1.引用是某个已知变量或对象的别名。引用不是变量,它自身没有值(引用的值实际上是被它引用的变量或对象的值),也没有地址值(引用的地址值是被它引用的变量或对象的地址值),它不占内存空间。
2.引用的值将随被它引用的变量或对象的值而改变,引用值得改变也将改变被它引用的变量或对象的值。
3.创建引用的格式如下:
<类名>&<引用名>=<初始值>;
<类型>:是被引用变量或对象的类型。
< 引用名>:同标识符。
&是一个说明符,说明其后面的标识符是引用名。
Eg:
int m;
int &rm=m;
//(rm是一个引用名,是变量m的别名,他们都是int型的,&是说明符,说明rm是一个引用名)
引用的特点:
(1).引用的值与被引用的变量或对象的值相同。
(2).如果变量或对象的值改变了,那么它的别名即引用的值也会被改变。
(3).如果引用的值改变了,那么被它引用的变量或者对象的值也会改变。
(4).引用的地址值与被它引用的变量或对象的地址值相同。
(5).(假设有变量a,b,其中ra是变量a的引用)如果把变量b赋给ra,则ra和a的值都变为b的值,而ra的地址值任然为a的地址值。
eg:
#include<iostream.h>
void main()
{
int a(10);
int &ra = a;
cout << "a=" << a << ',' << "ra=" << ra << endl;
a += 5;
cout << "a=" << a << ',' << "ra=" << ra << endl;
ra += 5;
cout << "a=" << a << ',' << "ra=" << ra << endl;
cout << "&a=" << &a << ',' << "&ra=" << &ra << endl;
int b(-10);
ra = b;
cout << "a=" << a << 'a' << "b=" << b << ',' << "ra=" << ra << endl;
cout << "&a=" << &a << ',' << "&b=" << &b << ',' << "&ra=" << &ra << endl;
}
执行结果如下(读者可自行验证):
a=10,ra=10
a=15,ra=15
a=20,ra=20
&a=0X0019FF3C,&ra=oX0019FF3C
a=-10,b=-10,ra=-10
&a=0X0019FF3C,&b=0X0019FF34,&ra=oX0019FF3C
(注:不同的编译器下执行的结果可能有所差异)