C++函數一些理解

關於this指針
this指針是隱含的,可以顯示聲明也可以不聲明,形參this初始化爲調用函數的對象地址
類外定義成員函數:
int sale::avg_price() const
  {
     if(units_sold)
        return revenue/units_sold;
     else
         return 0;
}
用::符號限定了作用域
理解了內聯函數:內聯函數就是在調用函數的地方,展開函數內容:
cout《exp(s1,s2)《endl;
內聯後:
cout《(s1.size() < s2.size() ? s1 : s2)《endl;
從而減少了exp寫成函數的執行開銷,內聯函數標誌:inline,適用於函數代碼行小的,經常使用的,最好定義在頭文件中。
構造函數:
構造函數可以在類內定義,也可以在類外定義,名字必須和函數名相同,如果沒有定義構造函數,編譯器將自動爲函數設置構造函數。
class T
{
public:
T(int a=0){i=a;}//構造函數允許直接寫在類定義內,也允許有參數表。
private:int i;
};
如果類外定義:
T(int a=0)
{
i = a;
}
函數重載:
函數重載是指,相同作用域下的兩個函數,名字相同,但是參數不同。
int look(int account)
int look(int phone)
函數重載與重複聲明的區別:
如果兩個函數聲明的返回類型不同但是形參完全一樣,也屬於重複定義
int look(int acc)
bool look(int acc)


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