引用和函數的重載

函數的重載:

    函數的重載是指同一個函數名可以對應多個函數實現。

    函數的重載從參數上可以分爲兩類: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

(注:不同的編譯器下執行的結果可能有所差異)





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章