函數的重載:
函數的重載是指同一個函數名可以對應多個函數實現。
函數的重載從參數上可以分爲兩類: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
(注:不同的編譯器下執行的結果可能有所差異)