常量對象函數引用和參數傳遞

定義對象時在前面加上const關鍵字,則對象的值不會改變。ios

類的成員函數說明後加const關鍵字,則該成員函數爲常量成員函數。常量成員函數不該該修改其所做用的對象。所以,在常量成員函數中不能修改爲員變量的值(靜態成員變量除外),也不能調用同類的很是量成員函數(靜態成員函數除外)。函數

常量成員函數的重載spa

兩個成員函數,名字和參數表都同樣,可是一個是const,一個不是,算重載。code

常引用:不一樣經過常引用修改其所指對象的值。對象

對象做爲函數的參數時,生成該參數須要調用複製構造函數,效率比較低。能夠用對象的引用做爲參數。blog

參數傳遞:形參的初始化和變量的初始化同樣:若是形參具備非引用類型,則複製實參的值;若是爲引用類型,則它只是實參的別名。io

相應代碼以下:class

#include <iostream>

using namespace std;

class Ctest
{
private :
    int n;
public :
    int m;
    Ctest(int a):m(a),n(1){}
    void Getvalue() const
    {
        cout << n << endl;
    }
    void Getvalue() 
    {
        cout << 2 * n << endl;
    }
};

int main()
{
    const Ctest c1(2);
    Ctest c2(5);
    c1.Getvalue();
    c2.Getvalue();
    return 0;
}

 

 參考連接:test

https://www.coursera.org/learn/cpp-chengxu-sheji效率

相關文章
相關標籤/搜索