定義對象時在前面加上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效率