函数的重载:

    函数的重载是指同一个函数名可以对应多个函数实现。

    函数的重载从参数上可以分为两类: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.(假设有变量ab,其中ra是变量a的引用)如果把变量b赋给ra,则raa的值都变为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

(注:不同的编译器下执行的结果可能有所差异)